Fungsi WdfRequestFormatRequestUsingCurrentType (wdfrequest.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfRequestFormatRequestUsingCurrentType memformat permintaan I/O tertentu sehingga driver dapat meneruskannya , tidak dimodifikasi, ke target I/O lokal driver.
Sintaks
void WdfRequestFormatRequestUsingCurrentType(
[in] WDFREQUEST Request
);
Parameter
[in] Request
Handel ke objek permintaan kerangka kerja yang diterima driver dari salah satu antrean I/O-nya.
Nilai kembali
Tidak ada
Keterangan
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Ketika driver Anda menerima permintaan I/O, terkadang Anda ingin driver meneruskan permintaan, tidak dimodifikasi, ke target I/O lokalnya. Untuk meneruskan permintaan tersebut, driver harus:
- Panggil WdfRequestFormatRequestUsingCurrentType untuk memformat objek permintaan sehingga kerangka kerja dapat meneruskan permintaan ke target I/O lokal driver.
- Panggil WdfRequestSend untuk mengirim permintaan ke target I/O.
Contoh
Contoh kode berikut adalah fungsi panggilan balik EvtIoDefault yang meneruskan setiap permintaan I/O yang diterimanya, tanpa modifikasi, ke target I/O lokal perangkat.
VOID
MyEvtIoDefault(
WDFQUEUE Queue,
WDFREQUEST Request
)
{
WDF_REQUEST_SEND_OPTIONS options;
NTSTATUS status;
WDF_REQUEST_PARAMETERS params;
BOOLEAN ret;
WDF_REQUEST_PARAMETERS_INIT(¶ms);
WdfRequestGetParameters(
Request,
¶ms
);
WdfRequestFormatRequestUsingCurrentType(Request);
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
);
ret = WdfRequestSend (
Request,
WdfDeviceGetIoTarget(WdfIoQueueGetDevice(Queue)),
&options
);
if (!ret) {
status = WdfRequestGetStatus(Request);
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), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), RequestFormattedValid(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