Freigeben über


PoStartDeviceBusy-Funktion (ntifs.h)

Die PoStartDeviceBusy-Routine markiert den Beginn eines Zeitraums, in dem das Gerät ausgelastet ist.

Syntax

void PoStartDeviceBusy(
  [in, out] PULONG IdlePointer
);

Parameter

[in, out] IdlePointer

Ein Zeiger auf einen Leerlaufzähler. Dies ist ein Zeigerwert, der zuvor von der PoRegisterDeviceForIdleDetection-Routine zurückgegeben wurde. Da PoRegisterDeviceForIdleDetection möglicherweise einen NULL-Zeiger zurückgibt, muss der Aufrufer überprüfen, ob der Zeiger ungleich NULL ist, bevor PoStartDeviceBusy aufgerufen wird.

Rückgabewert

Keine

Bemerkungen

Die Routinen PoStartDeviceBusy und PoEndDeviceBusy markieren den Anfang und das Ende eines Zeitraums, in dem ein Gerät ausgelastet ist. Jedem Aufruf von PoStartDeviceBusy muss ein entsprechender Aufruf von PoEndDeviceBusy folgen.

Für jedes Gerät verwaltet der Energie-Manager die Anzahl der ausstehenden PoStartDeviceBusy-Aufrufe , für die er noch keinen entsprechenden PoEndDeviceBusy-Anruf erhalten hat. Ein PoStartDeviceBusy-Aufruf erhöht die Anzahl der Ausgelasten um eins. Ein PoEndDeviceBusy-Aufruf verringert die Anzahl der Ausgelasten um eins. Eine Auslastungsanzahl ungleich null deaktiviert den Leerlaufzähler für das Gerät. Nachdem die Anzahl der Ausgelasten 0 (null) erreicht hat, setzt der Power Manager den Leerlaufzähler auf den Timeoutzeitraum zurück und aktiviert den Zähler.

Anstatt die Routinen PoStartDeviceBusy und PoEndDeviceBusy zum Zurücksetzen des Leerlaufzählers zu verwenden, können Sie die PoSetDeviceBusyEx-Routine (oder das Makro PoSetDeviceBusy) aufrufen. Um den Leerlaufzähler während eines längeren Auslastungszeitraums zu deaktivieren, kann ein Treiber die PoRegisterDeviceForIdleDetection-Routine aufrufen, um Benachrichtigungen zu Beginn und Ende der Auslastung zu deaktivieren und zu aktivieren. PoStartDeviceBusy und PoEndDeviceBusy sind jedoch in der Regel bequemer für diesen Zweck zu verwenden, und Sie sollten erwägen, diese Routinen in neuem Code zu verwenden, den Sie für Windows 7 und höhere Versionen von Windows schreiben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7.
Zielplattform Universell
Header ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy