Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In de D0-apparaatstroomstatus is het apparaat volledig ingeschakeld en operationeel. In deze status kan een apparaatstuurprogramma communiceren met het apparaat om I/O-bewerkingen uit te voeren en kan het apparaat interrupts genereren. Als het apparaat hardwareregisters heeft die zijn toegewezen aan geheugen of I/O-adresruimte, heeft het stuurprogramma toegang tot deze registers.
Vanaf Windows 8 kan een stuurprogramma een passieve interruptserviceroutine (ISR) koppelen aan de interrupt van een apparaat. Het apparaat kan interrupts genereren, ongeacht of het zich in D0 bevindt. Wanneer het apparaat de status Dx met weinig vermogen heeft, kan het apparaat een interrupt genereren die fungeert als trigger om het apparaat terug te brengen naar D0. De ISR wordt gepland om te worden uitgevoerd op IRQL = PASSIVE_LEVEL nadat het apparaat D0 heeft ingevoerd. In eerdere versies van Windows, met inbegrip van Windows 7, mag een apparaat geen onderbrekingen genereren wanneer het apparaat een andere energiestatus heeft dan D0.
Een overgang van D0 naar een dx-status met weinig vermogen kan alleen optreden wanneer het apparaatstuurprogramma, terwijl het fungeert als de eigenaar van het energiebeleid voor het apparaat, de overgang start door de PoRequestPowerIrp-routine aan te roepen. Wanneer de power manager op deze oproep reageert door een energie-IRP (IRP_MN_SET_POWER) te verzenden, verwerken het apparaatstuurprogramma, het busstuurprogramma en de platformfirmware (via het Windows ACPI-stuurprogramma, Acpi.sys) deze IRP gezamenlijk om de energiestatus van het apparaat te wijzigen.
Apparaathardware bewaakt doorgaans een reeks interne gebeurtenissen die runtime-interrupts of wake-signalen kunnen genereren, afhankelijk van hoe het apparaat is geconfigureerd. Het stuurprogramma implementeert één codepad om te reageren op interrupts en een andere om te reageren op wake-gebeurtenissen. De stuurprogrammacode kan worden vereenvoudigd als het onderbrekingscodepad niet hoeft om te gaan met wake-up gebeurtenissen en het wake-codepad geen onderbrekingen hoeft af te handelen. Als best practice moet het stuurprogramma het apparaat zodanig configureren dat alleen interrupts worden gegenereerd wanneer het apparaat zich in D0 bevindt en om wake-signalen alleen te genereren wanneer het apparaat de status Dx met weinig vermogen heeft. Normaal gesproken configureert het stuurprogramma het apparaat om een wake-signaal te genereren vlak voordat het apparaat D0 verlaat en configureert het apparaat om onderbrekingen te genereren net nadat het apparaat D0 betreedt.
Normaal gesproken gaat een apparaat naar de D0-status wanneer het hardware-reset-signaal wordt geactiveerd. In feite vereisen de specificaties voor bussen zoals PCI en PCI Express dit gedrag.
Dit zijn de kenmerken van de D0-status:
Stroomverbruik
Hoogste niveau van continu energieverbruik voor het apparaat.
Apparaatcontext
Alle context is behouden.
Gedrag van apparaatstuurprogramma's
Normale werking.