Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |