Auf Englisch lesen

Teilen über


KeInsertDeviceQueue-Funktion (wdm.h)

Die KeInsertDeviceQueue Routine erwirbt die Drehsperre für das angegebene Gerätewarteschlangenobjekt, und wenn die Gerätewarteschlange auf einen Beschäftigt-Zustand festgelegt ist, wird der angegebene Eintrag in die Warteschlange gestellt.

Syntax

C++
BOOLEAN KeInsertDeviceQueue(
  [in, out] PKDEVICE_QUEUE       DeviceQueue,
  [in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);

Parameter

[in, out] DeviceQueue

Zeiger auf ein Steuerelementobjekt vom Typ "Gerätewarteschlange", für das der Aufrufer den Speicher bereitstellt.

[in, out] DeviceQueueEntry

Zeiger auf den Gerätewarteschlangeneintrag, der eingefügt werden soll.

Rückgabewert

Wenn die Gerätewarteschlange leer ist, wird FALSE- zurückgegeben, und die DeviceQueueEntry- wird nicht in die Gerätewarteschlange eingefügt.

Bemerkungen

Wenn die Gerätewarteschlange auf einen Beschäftigt-Zustand festgelegt ist, wird die angegebene DeviceQueueEntry- am Ende der Gerätewarteschlange eingefügt, und die Drehsperre der Gerätewarteschlange wird losgelassen.

Wenn KeInsertDeviceQueueFALSE-zurückgibt, wurde der Eintrag nicht in die Warteschlange gestellt, und der Aufrufer muss mit der Verarbeitung des IRP beginnen. Ein Aufruf von KeInsertDeviceQueue oder KeInsertByKeyDeviceQueue, wenn die Warteschlange leer ist, bewirkt, dass die Gerätewarteschlange von einem nicht ausgelasteten Zustand in einen Beschäftigt-Zustand wechselt.

Diese Routine richtet sich an Code, der eine E/A-Anforderung an einen Gerätetreiber in die Warteschlange stellt.

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), MarkingQueuedIrps(wdm)

Siehe auch

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue