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 von DeviceQueue verwendet werden soll.

Rückgabewert

KeRemoveByKeyDeviceQueue gibt den entfernten Gerätewarteschlangeneintrag zurück. gibt NULL zurück, wenn die Warteschlange leer war.

Hinweise

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 den Nicht-Gebucht-Zustand festgelegt, und ein NULL-Zeiger wird zurückgegeben.

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

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue