EVT_WDF_USB_READERS_FAILED fungsi panggilan balik (wdfusb.h)
[Berlaku untuk KMDF dan UMDF]
Fungsi panggilan balik peristiwa EvtUsbTargetPipeReadersFailed driver memberi tahu driver bahwa pembaca berkelanjutan telah melaporkan kesalahan saat memproses permintaan baca.
Sintaks
EVT_WDF_USB_READERS_FAILED EvtWdfUsbReadersFailed;
BOOLEAN EvtWdfUsbReadersFailed(
[in] WDFUSBPIPE Pipe,
[in] NTSTATUS Status,
[in] USBD_STATUS UsbdStatus
)
{...}
Parameter
[in] Pipe
Handel ke objek pipa kerangka kerja.
[in] Status
Nilai NTSTATUS yang dikembalikan target I/O pipa.
[in] UsbdStatus
Nilai status jenis USBD_STATUS yang dikembalikan target I/O pipa.
Mengembalikan nilai
Fungsi panggilan balik peristiwa EvtUsbTargetPipeReadersFailed mengembalikan nilai Boolean yang, jika TRUE, menyebabkan kerangka kerja mengatur ulang pipa USB lalu menghidupkan ulang pembaca berkelanjutan. Jika fungsi ini mengembalikan FALSE, kerangka kerja tidak mengatur ulang perangkat atau memulai ulang pembaca berkelanjutan.
Keterangan
Untuk mendaftarkan fungsi panggilan balik EvtUsbTargetPipeReadersFailed , driver harus menempatkan alamat fungsi dalam struktur WDF_USB_CONTINUOUS_READER_CONFIG . Untuk informasi tentang kapan harus menambahkan penunjuk fungsi ini, lihat bagian Keterangan WDF_USB_CONTINUOUS_READER_CONFIG_INIT.
Jika driver telah membuat pembaca berkelanjutan untuk pipa USB, kerangka kerja memanggil fungsi panggilan balik EvtUsbTargetPipeReadersFailed driver jika target I/O driver melaporkan kesalahan saat menyelesaikan permintaan baca. (Jika target I/O berhasil menyelesaikan permintaan, kerangka kerja memanggil fungsi panggilan balik EvtUsbTargetPipeReadComplete driver.)
Sebelum kerangka kerja memanggil fungsi panggilan balik EvtUsbTargetPipeReadersFailed driver, ia mencoba membatalkan semua permintaan baca yang sedang berlangsung. Tidak ada permintaan baca yang sedang berlangsung saat kerangka kerja memanggil fungsi panggilan balik EvtUsbTargetPipeReadersFailed . Kerangka kerja tidak mengantre permintaan baca tambahan hingga fungsi panggilan balik EvtUsbTargetPipeReadersFailed kembali.
Untuk informasi tentang bagaimana kerangka kerja menyinkronkan panggilan ke fungsi panggilan balik EvtUsbTargetPipeReadersFailed dengan panggilan ke fungsi panggilan balik lainnya, lihat bagian Keterangan dari EvtUsbTargetPipeReadComplete.
Fungsi panggilan balik EvtUsbTargetPipeReadersFailed tidak boleh memanggil WdfIoTargetStop untuk menghentikan target USB pembaca berkelanjutan. (Bahkan, memanggil WdfIoTargetStop dalam fungsi panggilan balik EvtUsbTargetPipeReadersFailed menyebabkan kebuntuan.) Selain itu, fungsi panggilan balik tidak boleh memanggil WdfIoTargetStart untuk memulai ulang pembaca berkelanjutan. Sebaliknya, kerangka kerja menghidupkan ulang pembaca jika fungsi panggilan balik mengembalikan TRUE. Untuk informasi selengkapnya tentang kapan harus memanggil WdfIoTargetStart dan WdfIoTargetStop untuk pembaca berkelanjutan, lihat Bekerja dengan Pipa USB.
Jika driver tidak menyediakan fungsi panggilan balik EvtUsbTargetPipeReadersFailed dan target I/O driver melaporkan kesalahan, kerangka kerja mengatur ulang pipa USB dan memulai ulang pembaca berkelanjutan.
Untuk informasi selengkapnya tentang fungsi panggilan balik EvtUsbTargetPipeReadersFailed dan target I/O USB, lihat Target I/O USB.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfusb.h (termasuk Wdf.h) |
IRQL | PASSIVE_LEVEL |
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