KeInsertDeviceQueue-Funktion (wdm.h)
Die KeInsertDeviceQueue-Routine ruft die Drehsperre für das angegebene Gerätewarteschlangenobjekt ab, und wenn die Gerätewarteschlange auf den Status "Beschäftigt" festgelegt ist, wird der angegebene Eintrag in die Warteschlange eingereiht.
Syntax
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 deviceQueueEntry wird nicht in die Gerätewarteschlange eingefügt.
Hinweise
Wenn die Gerätewarteschlange auf den Status "Ausgelastet" festgelegt ist, wird die angegebene DeviceQueueEntry am Ende der Gerätewarteschlange eingefügt, und die Spinsperre der Gerätewarteschlange wird aufgehoben.
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-Beschäftigt-Zustand in einen Beschäftigt-Zustand wechselt.
Diese Routine gilt für Code, der eine E/A-Anforderung an einen Gerätetreiber in die Warteschlange stellt.
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), MarkingQueuedIrps(wdm) |