Freigeben über


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 den Status "Ausgelastet" festgelegt ist, gibt KeRemoveDeviceQueueNULL zurück.

Hinweise

Die angegebene Gerätewarteschlangen-Spinsperre wird abgerufen, und der Zustand der Gerätewarteschlange wird überprüft. Wenn die Gerätewarteschlange auf den Status "Ausgelastet" festgelegt ist und ein IRP in eine Warteschlange eingereiht wird, wird der Eintrag durch diese Routine gelöscht und ein Zeiger auf die IRP zurückgegeben. Ein Aufruf von KeRemoveDeviceQueue , wenn das Gerätewarteschlangenobjekt auf den Status "Ausgelastet" festgelegt ist, aber keine IRPs in die Warteschlange eingereiht werden, bewirkt eine Zustandsänderung nicht ausgelastet. Die Spinsperre der angegebenen Gerätewarteschlange wird freigegeben.

Es ist ein Fehler, KeRemoveDeviceQueue aufzurufen, wenn das Gerätewarteschlangenobjekt auf den Status "Nicht gebucht" festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Weitere Informationen

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue