Fungsi WdfRequestChangeTarget (wdfrequest.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfRequestChangeTarget memverifikasi bahwa permintaan I/O tertentu dapat dikirim ke target I/O tertentu.
Sintaks
NTSTATUS WdfRequestChangeTarget(
[in] WDFREQUEST Request,
[in] WDFIOTARGET IoTarget
);
Parameter
[in] Request
Handel ke objek permintaan kerangka kerja.
[in] IoTarget
Handel ke objek target I/O kerangka kerja.
Nilai kembali
WdfRequestChangeTarget mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter input tidak valid. |
|
Sumber daya sistem tidak cukup untuk menyelesaikan operasi. |
|
Array permintaan lokasi tumpukan I/O tidak cukup besar untuk memungkinkan driver mengirim permintaan ke target I/O. |
Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Driver Anda harus memanggil metode WdfRequestChangeTarget sebelum memanggil WdfRequestSend, jika driver mengirim satu permintaan I/O ke beberapa target I/O. WdfRequestChangeTarget memverifikasi bahwa permintaan dapat dikirim ke target I/O yang ditentukan.
Sebagian besar driver mengirim setiap permintaan hanya ke satu perangkat dan dengan demikian hanya ke satu target I/O. Driver menerima permintaan atau membuat permintaan baru dengan memanggil WdfRequestCreate.
Jika driver mengirim permintaan ke satu perangkat, driver memanggil WdfDeviceGetIoTarget untuk menentukan target I/O perangkat dan kemudian memanggil WdfRequestSend untuk mengirim permintaan ke target.
Jika driver mengirim permintaan ke beberapa perangkat, driver memanggil WdfDeviceGetIoTarget untuk setiap perangkat untuk menentukan target I/O perangkat. Sebelum memanggil WdfRequestSend, driver harus memanggil WdfRequestChangeTarget untuk memastikan bahwa setiap target I/O dapat diakses.
Untuk informasi selengkapnya tentang WdfRequestChangeTarget, lihat Meneruskan Permintaan I/O.
Contoh
Contoh kode berikut memverifikasi bahwa permintaan I/O dapat dikirim ke target I/O lokal perangkat tertentu.
NTSTATUS status;
status = WdfRequestChangeTarget(
request,
WdfDeviceGetIoTarget(Device)
);
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) |