Fungsi WdfIoTargetStart (wdfiotarget.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfIoTargetStart mulai mengirim permintaan antrean ke target I/O lokal atau jarak jauh.
Sintaks
NTSTATUS WdfIoTargetStart(
[in] WDFIOTARGET IoTarget
);
Parameter
[in] IoTarget
Handel ke objek target I/O lokal atau jarak jauh yang diperoleh dari panggilan sebelumnya ke WdfDeviceGetIoTarget atau WdfIoTargetCreate, atau dari metode yang disediakan target I/O khusus.
Nilai kembali
WdfIoTargetStart mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Perangkat telah dihapus. |
Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Jika driver Anda dapat mendeteksi kesalahan perangkat yang dapat dipulihkan, Anda mungkin ingin driver Anda memanggil WdfIoTargetStop untuk menghentikan sementara pengiriman permintaan, kemudian panggil WdfIoTargetStart untuk melanjutkan pengiriman permintaan.
Selain itu, jika driver memanggil WdfUsbTargetPipeConfigContinuousReader untuk mengonfigurasi pembaca berkelanjutan untuk pipa USB, fungsi panggilan balik EvtDeviceD0Entry driver harus memanggil WdfIoTargetStart untuk memulai pembaca.
Driver Anda harus memanggil WdfIoTargetStart dan WdfIoTargetStop secara sinkron. Setelah driver memanggil salah satu fungsi ini, driver tidak boleh memanggil fungsi lain sebelum yang pertama kembali.
Untuk informasi selengkapnya tentang WdfIoTargetStart, lihat Mengontrol Status Target I/O Umum.
Untuk informasi selengkapnya tentang target I/O, lihat Menggunakan Target I/O.
Contoh
Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik EvtDeviceD0Entry dapat memanggil WdfIoTargetStart, jika driver menggunakan pembaca berkelanjutan untuk pipa USB.
NTSTATUS
MyEvtDeviceD0Entry(
IN WDFDEVICE Device,
IN WDF_POWER_DEVICE_STATE PreviousState
)
{
PDEVICE_CONTEXT pDeviceContext;
NTSTATUS status;
pDeviceContext = GetMyDeviceContext(Device);
status = WdfIoTargetStart(WdfUsbTargetPipeGetIoTarget(pDeviceContext->InterruptPipe));
return status;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfiotarget.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), FailD0EntryIoTargetState(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(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