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

EvtUsbTargetPipeReadComplete

WDF_USB_CONTINUOUS_READER_CONFIG