Fungsi WdfRequestGetStatus (wdfrequest.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfRequestGetStatus mengembalikan status permintaan I/O.
Sintaks
NTSTATUS WdfRequestGetStatus(
[in] WDFREQUEST Request
);
Parameter
[in] Request
Handel ke objek permintaan kerangka kerja.
Nilai kembali
WdfRequestGetStatus mengembalikan nilai NTSTATUS. Untuk informasi selengkapnya tentang nilai apa yang bisa dikembalikan, lihat bagian Keterangan berikut ini.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Metode WdfRequestGetStatus mengembalikan salah satu hal berikut ini:
- Jika panggilan driver ke WdfRequestSend berhasil, WdfRequestGetStatus mengembalikan nilai status yang ditetapkan oleh driver yang memanggil WdfRequestComplete untuk menyelesaikan permintaan yang ditentukan. Driver biasanya memanggil WdfRequestGetStatus dari dalam fungsi panggilan balik CompletionRoutine .
- Jika panggilan driver ke WdfRequestSend gagal, WdfRequestGetStatus mengembalikan nilai status yang telah ditetapkan kerangka kerja untuk menjelaskan kegagalan. Driver dapat memanggil WdfRequestGetStatus segera setelah memanggil WdfRequestSend.
Untuk informasi selengkapnya tentang penyelesaian permintaan, lihat Menyelesaikan Permintaan I/O.
Contoh
Contoh kode berikut berasal dari driver sampel KbFiltr . Contoh ini mengirimkan permintaan I/O ke target I/O. Jika WdfRequestSend gagal, contohnya menggunakan nilai pengembalian WdfRequestGetStatus sebagai input ke WdfRequestComplete.
VOID
KbFilter_ForwardRequest(
IN WDFREQUEST Request,
IN WDFIOTARGET Target
)
{
WDF_REQUEST_SEND_OPTIONS options;
BOOLEAN ret;
NTSTATUS status;
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
);
ret = WdfRequestSend(
Request,
Target,
&options
);
if (ret == FALSE) {
status = WdfRequestGetStatus (Request);
DebugPrint(("WdfRequestSend failed: 0x%x\n", status));
WdfRequestComplete(
Request,
status
);
}
return;
}
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), RequestGetStatusValid(kmdf) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk