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) |