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:

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)

Lihat juga

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable