Fungsi WdfIoQueueStop (wdfio.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfIoQueueStop mencegah antrean I/O mengirimkan permintaan I/O, tetapi antrean menerima dan menyimpan permintaan baru.
Sintaks
void WdfIoQueueStop(
[in] WDFQUEUE Queue,
[in, optional] PFN_WDF_IO_QUEUE_STATE StopComplete,
[in, optional] WDFCONTEXT Context
);
Parameter
[in] Queue
Handel ke objek antrean kerangka kerja.
[in, optional] StopComplete
Penunjuk ke fungsi panggilan balik EvtIoQueueState yang disediakan driver. Parameter ini bersifat opsional dan dapat berupa NULL.
[in, optional] Context
Penunjuk yang tidak dity ke informasi konteks yang disediakan driver yang diteruskan kerangka kerja ke fungsi panggilan balik EvtIoQueueState . Parameter ini bersifat opsional dan dapat berupa NULL.
Menampilkan nilai
Tidak ada
Keterangan
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Jika driver menyediakan fungsi panggilan balik EvtIoQueueState , kerangka kerja memanggilnya setelah semua permintaan yang dikirimkan ke driver telah selesai atau dibatalkan. Anda dapat memodifikasi IRQL tempat panggilan balik berjalan dengan menentukan ExecutionLevel di WDF_OBJECT_ATTRIBUTES pada waktu pembuatan antrean. Untuk informasi selengkapnya, lihat bagian Keterangandi EVT_WDF_IO_QUEUE_STATE.
Metode WdfIoQueueStop memungkinkan antrean untuk menerima permintaan baru, bahkan jika antrean tidak menerima permintaan baru sebelum driver bernama WdfIoQueueStop. Misalnya, sebelum memanggil WdfIoQueueStop, driver mungkin memanggil WdfIoQueueDrain, yang menyebabkan kerangka kerja berhenti menambahkan permintaan I/O baru ke antrean. Panggilan WdfIoQueueStop driver berikutnya menyebabkan kerangka kerja melanjutkan penambahan permintaan ke antrean.
Driver tidak boleh memanggil WdfIoQueueDrain setelah memanggil WdfIoQueueStop sampai telah memulai ulang antrean dengan memanggil WdfIoQueueStart.
Untuk informasi selengkapnya tentang metode WdfIoQueueStop , lihat Mengelola Antrean I/O.
Contoh
Contoh kode berikut menghentikan antrean I/O tertentu. Ketika semua permintaan yang dikirimkan ke driver telah selesai atau dibatalkan, itu memanggil fungsi EvtIoQueueStateStop driver.
WDFCONTEXT stopContext;
stopContext = &myContext;
WdfIoQueueStop(
queue,
EvtIoQueueStateStop,
stopContext
);
Persyaratan
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 | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf) |