KeRemoveDeviceQueue-Funktion (wdm.h)
Die KeRemoveDeviceQueue Routine entfernt einen Eintrag aus dem Kopf einer angegebenen Gerätewarteschlange.
Syntax
PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue
);
Parameter
[in, out] DeviceQueue
Zeiger auf ein initialisiertes Gerätewarteschlangenobjekt, für das der Aufrufer den Speicher bereitstellt.
Rückgabewert
Wenn die Gerätewarteschlange leer ist, aber auf einen Beschäftigt-Zustand festgelegt ist, gibt KeRemoveDeviceQueueNULL-zurück.
Bemerkungen
Die angegebene Drehsperre der Gerätewarteschlange wird abgerufen, und der Zustand der Gerätewarteschlange wird überprüft. Wenn die Gerätewarteschlange auf einen Beschäftigt-Zustand festgelegt ist und ein IRP in die Warteschlange eingereiht wird, wird der Eintrag durch diese Routine dequeuesiert und ein Zeiger auf das IRP zurückgegeben. Ein Aufruf von KeRemoveDeviceQueue, wenn das Gerätewarteschlangenobjekt auf einen Beschäftigt-Zustand festgelegt ist, aber keine IRPs in die Warteschlange gestellt werden, führt zu einer Zustandsänderung, die nicht ausgelastet ist. Die Drehsperre der angegebenen Gerätewarteschlange wird freigegeben.
Es ist ein Fehler, KeRemoveDeviceQueue aufzurufen, wenn das Gerätewarteschlangenobjekt auf einen nicht ausgelasteten Zustand festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm) |