Fungsi KeInsertDeviceQueue (wdm.h)
Rutinitas KeInsertDeviceQueue memperoleh kunci putar untuk objek antrean perangkat yang ditentukan dan, jika antrean perangkat diatur ke status sibuk, mengantre entri yang ditentukan.
Sintaks
BOOLEAN KeInsertDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue,
[in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);
Parameter
[in, out] DeviceQueue
Penunjuk ke objek kontrol jenis antrean perangkat yang disediakan pemanggil penyimpanan.
[in, out] DeviceQueueEntry
Arahkan ke entri antrean perangkat yang akan disisipkan.
Nilai kembali
Jika antrean perangkat kosong, FALSE dikembalikan dan DeviceQueueEntry tidak dimasukkan dalam antrean perangkat.
Keterangan
Jika antrean perangkat diatur ke status sibuk, DeviceQueueEntry yang ditentukan dimasukkan di ekor antrean perangkat dan kunci spin antrean perangkat dilepaskan.
Jika KeInsertDeviceQueue mengembalikan FALSE, entri tidak diantrekan dan pemanggil harus mulai memproses IRP. Panggilan ke KeInsertDeviceQueue atau KeInsertByKeyDeviceQueue saat antrean kosong menyebabkan antrean perangkat berubah dari status tidak sibuk ke keadaan sibuk.
Rutinitas ini untuk kode yang mengantrekan permintaan I/O ke driver perangkat.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), MarkingQueuedIrps(wdm) |