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.

Mengembalikan nilai

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

   
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)

Lihat juga

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue