Fungsi WdfRequestIsCanceled (wdfrequest.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfRequestIsCanceled menentukan apakah manajer I/O telah mencoba membatalkan permintaan I/O tertentu.
Sintaks
BOOLEAN WdfRequestIsCanceled(
[in] WDFREQUEST Request
);
Parameter
[in] Request
Handel ke objek permintaan kerangka kerja.
Nilai kembali
WdfRequestIsCanceled mengembalikan TRUE jika manajer I/O telah mencoba membatalkan permintaan I/O yang ditentukan. Metode ini dapat mengembalikan TRUE meskipun driver panggilan tidak memiliki permintaan. Jika driver tidak memiliki permintaan, driver tidak boleh memanggil WdfRequestIsCanceled. Lihat informasi tambahan dalam Keterangan.
WdfRequestIsCanceled mengembalikan FALSE karena salah satu alasan berikut:
- Manajer I/O belum mencoba membatalkan permintaan.
- Driver panggilan tidak memiliki permintaan.
- Driver panggilan telah memanggil metode WdfRequestMarkCancelable atau WdfRequestMarkCancelableEx .
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Jika driver Anda belum memanggil WdfRequestMarkCancelable atau WdfRequestMarkCancelableEx untuk mendaftarkan fungsi panggilan balik EvtRequestCancel , tetapi jika Anda ingin driver Anda menentukan apakah manajer I/O telah mencoba membatalkan permintaan I/O, driver dapat memanggil WdfRequestIsCanceled.
Jika driver telah memanggil WdfRequestMarkCancelable atau WdfRequestMarkCancelableEx, driver harus memanggil WdfRequestUnmarkCancelable sebelum memanggil WdfRequestIsCanceled.
Driver dapat memanggil WdfRequestIsCanceled untuk permintaan hanya jika driver memiliki permintaan I/O.
Jika WdfRequestIsCanceled mengembalikan TRUE, driver Anda harus membatalkan permintaan dengan memanggil WdfRequestComplete dengan parameter Status STATUS_CANCELLED. Jika driver mencoba menyelesaikan permintaan yang tidak dimilikinya, driver dapat menyebabkan sistem crash.
Untuk informasi selengkapnya tentang WdfRequestIsCanceled, lihat Membatalkan Permintaan I/O
Contoh
Contoh kode berikut memanggil WdfRequestComplete jika WdfRequestIsCanceled mengembalikan TRUE.
if (WdfRequestIsCanceled(request)) {
WdfRequestComplete(
request,
STATUS_CANCELLED
);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfrequest.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), ReqIsCancOnCancReq(kmdf) |