Bagikan melalui


EVT_SERCX2_PURGE_FIFOS fungsi panggilan balik (sercx.h)

Fungsi panggilan balik peristiwa EvtSerCx2PurgeFifos dipanggil oleh versi 2 dari ekstensi kerangka kerja serial (SerCx2) untuk membersihkan buffer FIFO di perangkat keras pengontrol serial.

Sintaks

EVT_SERCX2_PURGE_FIFOS EvtSercx2PurgeFifos;

void EvtSercx2PurgeFifos(
  [in] WDFDEVICE Device,
  [in] BOOLEAN PurgeRxFifo,
  [in] BOOLEAN PurgeTxFifo
)
{...}

Parameter

[in] Device

Handel WDFDEVICE ke objek perangkat kerangka kerja yang mewakili pengontrol serial. Driver pengontrol serial membuat objek ini dalam fungsi panggilan balik EvtDriverDeviceAdd . Untuk informasi selengkapnya, lihat SerCx2InitializeDevice.

[in] PurgeRxFifo

Apakah akan menghapus menyeluruh FIFO penerima. Jika parameter ini diatur ke TRUE, hapus menyeluruh FIFO penerima. Jika FALSE, jangan hapus menyeluruh FIFO penerima.

[in] PurgeTxFifo

Apakah akan menghapus menyeluruh pengiriman FIFO. Jika parameter ini diatur ke TRUE, hapus menyeluruh pengiriman FIFO. Jika FALSE, jangan hapus menyeluruh pengiriman FIFO.

Nilai kembali

Tidak ada

Keterangan

Driver pengontrol serial Anda harus menerapkan fungsi ini. Driver mendaftarkan fungsi dalam panggilan ke metode SerCx2InitializeDevice yang menyelesaikan inisialisasi objek perangkat kerangka kerja untuk pengontrol serial.

SerCx2 memanggil fungsi EvtSerCx2PurgeFifos ketika klien (driver periferal) mengirim permintaan kontrol IOCTL_SERIAL_PURGE yang memerlukan salah satu atau kedua buffer FIFO di perangkat keras pengontrol serial untuk dihapus menyeluruh. Jika permintaan kontrol IOCTL_SERIAL_PURGE memerlukan permintaan baca atau tulis (IRP_MJ_READ atau IRP_MJ_WRITE) yang tertunda untuk dibatalkan, SerCx2 membatalkan permintaan ini sebelum memanggil fungsi EvtSerCx2PurgeFifos .

SerCx2 juga memanggil fungsi EvtSerCx2PurgeFifos ketika klien membuka koneksi logis ke perangkat pengontrol serial dan mendapatkan handel file ke koneksi ini. Untuk informasi selengkapnya, lihat Objek File Kerangka Kerja.

Contoh

Untuk menentukan fungsi panggilan balik EvtSerCx2PurgeFifos , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi panggilan balik yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi panggilan balik untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi panggilan balik membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.

Misalnya, untuk menentukan fungsi panggilan balik EvtSerCx2PurgeFifos yang diberi nama MyPurgeFifos, gunakan jenis fungsi EVT_SERCX2_PURGE_FIFOS , seperti yang ditunjukkan dalam contoh kode ini:

EVT_SERCX2_PURGE_FIFOS  MyPurgeFifos;

Kemudian, terapkan fungsi panggilan balik Anda sebagai berikut:

_Use_decl_annotations_
VOID
  MyPurgeFifos(
    WDFDEVICE  Device,
    BOOLEAN PurgeRxFifo,
    BOOLEAN PurgeTxFifo
    )
  {...}

Jenis fungsi EVT_SERCX2_PURGE_FIFOS ditentukan dalam file header Sercx.h. Untuk mengidentifikasi kesalahan secara lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi EVT_SERCX2_PURGE_FIFOS dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi dengan Menggunakan Jenis Peran Fungsi untuk Driver KMDF. Untuk informasi selengkapnya tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 8.1.
Target Platform Desktop
Header sercx.h
IRQL Dipanggil pada PASSIVE_LEVEL.

Lihat juga

IOCTL_SERIAL_PURGE

SerCx2InitializeDevice