Freigeben über


KeRemoveByKeyDeviceQueue-Funktion (wdm.h)

Die KeRemoveByKeyDeviceQueue Routine entfernt einen Eintrag, der gemäß einem Sortierschlüsselwert ausgewählt ist, aus der angegebenen Gerätewarteschlange.

Syntax

PKDEVICE_QUEUE_ENTRY KeRemoveByKeyDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue,
  [in]      ULONG          SortKey
);

Parameter

[in, out] DeviceQueue

Zeiger auf ein initialisiertes Gerätewarteschlangenobjekt, für das der Aufrufer den Speicher bereitstellt.

[in] SortKey

Gibt den Schlüssel an, der beim Durchsuchen des DeviceQueue-verwendet werden soll.

Rückgabewert

KeRemoveByKeyDeviceQueue gibt den Gerätewarteschlangeneintrag zurück, der entfernt wurde; gibt NULL- zurück, wenn die Warteschlange leer war.

Bemerkungen

Diese Routine sucht nach dem ersten Eintrag in der Gerätewarteschlange, der einen Wert größer oder gleich dem SortKey-hat. Nachdem dieser Eintrag gefunden wurde, entfernt diese Routine den Eintrag aus der Gerätewarteschlange und gibt ihn zurück. Wenn kein solcher Eintrag gefunden wird, wird der erste Eintrag in der Warteschlange zurückgegeben. Wenn die Gerätewarteschlange leer ist, wird das Gerät auf einen nicht ausgelasteten Zustand festgelegt, und ein NULL- Zeiger wird zurückgegeben.

Es ist ein Fehler, KeRemoveByKeyDeviceQueue 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)

Siehe auch

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue