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.
BOOLEAN KeInsertDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue,
[in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);
[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.
Wenn die Gerätewarteschlange leer ist, wird FALSE- zurückgegeben, und die DeviceQueueEntry- wird nicht in die Gerätewarteschlange eingefügt.
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.
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) |