Bagikan melalui


Fungsi WdfIoQueueGetState (wdfio.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfIoQueueGetState mengembalikan status antrean I/O tertentu.

Sintaks

WDF_IO_QUEUE_STATE WdfIoQueueGetState(
  [in]            WDFQUEUE Queue,
  [out, optional] PULONG   QueueRequests,
  [out, optional] PULONG   DriverRequests
);

Parameter

[in] Queue

Handel ke objek antrean kerangka kerja.

[out, optional] QueueRequests

Pointer ke lokasi yang menerima jumlah permintaan I/O yang saat ini berada dalam antrean I/O dan belum dikirimkan ke driver. Penunjuk ini bersifat opsional dan dapat berupa NULL.

[out, optional] DriverRequests

Pointer ke lokasi yang menerima jumlah permintaan I/O yang telah dikirimkan ke driver tetapi driver belum selesai atau dibatalkan. Penunjuk ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

WdfIoQueueGetState mengembalikan nilai yang WDF_IO_QUEUE_STATE ketik, yang dapat berisi bitwise ATAU dari beberapa enumerator WDF_IO_QUEUE_STATE .

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Setelah memanggil WdfIoQueueGetState, driver Anda dapat meneruskan nilai status yang diterima ke fungsi berikut, yang didefinisikan dalam Wdfio.h:

Jika driver Anda menggunakan sinkronisasi otomatis kerangka kerja, status antrean I/O tidak akan berubah antara waktu metode WdfIoQueueGetState mendapatkan informasi status dari kerangka kerja dan waktu metode kembali. Jika tidak, status antrean mungkin berubah sebelum metode WdfIoQueueGetState kembali.

Untuk informasi selengkapnya tentang metode WdfIoQueueGetState , lihat Mendapatkan Properti Antrean I/O.

Contoh

Contoh kode berikut adalah rutinitas yang mengembalikan TRUE jika antrean I/O tertentu menganggur.

BOOLEAN
IsQueueIdle(
    IN WDFQUEUE Queue
    )
{
    WDF_IO_QUEUE_STATE queueStatus;
    queueStatus = WdfIoQueueGetState(
                                     Queue,
                                     NULL,
                                     NULL
                                     );
    return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfio.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

EvtIoQueueState

WDF_IO_QUEUE_STATE