EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO fungsi panggilan balik (sercx.h)
Fungsi panggilan balik peristiwa EvtSerCx2PioTransmitCancelDrainFifo dipanggil oleh versi 2 dari ekstensi kerangka kerja serial (SerCx2) untuk membatalkan permintaan sebelumnya untuk menguras transmisi FIFO di perangkat keras pengontrol serial.
Sintaks
EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO EvtSercx2PioTransmitCancelDrainFifo;
BOOLEAN EvtSercx2PioTransmitCancelDrainFifo(
[in] SERCX2PIOTRANSMIT PioTransmit
)
{...}
Parameter
[in] PioTransmit
Handel SERCX2PIOTRANSMIT ke objek transmisi PIO. Driver pengontrol serial sebelumnya disebut metode SerCx2PioTransmitCreate untuk membuat objek ini.
Nilai kembali
Fungsi EvtSerCx2PioTransmitCancelDrainFifo mengembalikan TRUE jika berhasil membatalkan permintaan pengurasan yang tertunda, dan driver pengontrol serial dapat menjamin bahwa ia tidak akan memanggil metode SerCx2PioTransmitDrainFifoComplete untuk memberi tahu SerCx2 bahwa FIFO dikosongkan. Jika tidak, fungsi ini mengembalikan FALSE untuk menunjukkan bahwa driver telah dipanggil atau akan memanggil SerCx2PioTransmitDrainFifoComplete.
Keterangan
Driver pengontrol serial Anda dapat, sebagai opsi, menerapkan fungsi ini. Jika diimplementasikan, driver mendaftarkan fungsi dalam panggilan SerCx2PioTransmitCreate yang membuat objek transmisi PIO.
Driver Anda harus menerapkan fungsi EvtSerCx2PioTransmitCancelDrainFifo jika pengontrol serial memiliki FIFO perangkat keras (atau mekanisme buffering serupa) untuk menyimpan data transmisi. Jika driver Anda menerapkan fungsi ini, driver juga harus mengimplementasikan fungsi panggilan balik peristiwa EvtSerCx2PioTransmitDrainFifo dan EvtSerCx2PioTransmitPurgeFifo .
SerCx2 memanggil fungsi panggilan balik peristiwa EvtSerCx2PioTransmitDrainFifo untuk meminta driver pengontrol serial untuk menguras TRANSMISI FIFO, dan kemudian menunggu driver pengontrol serial untuk memanggil SerCx2PioTransmitDrainFifoComplete. Operasi pengosongan dapat memakan waktu yang tidak terbatas untuk diselesaikan. Dengan demikian, jika waktu permintaan tulis habis atau dibatalkan saat operasi pengurasan sedang berlangsung, SerCx2 memanggil fungsi EvtSerCx2PioTransmitCancelDrainFifo untuk membatalkan operasi pengurasan yang tertunda sebelum selesai.
Untuk informasi selengkapnya, lihat SerCx2 PIO-Transmit Transactions.
Contoh
Untuk menentukan fungsi panggilan balik EvtSerCx2PioTransmitCancelDrainFifo , 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 EvtSerCx2PioTransmitCancelDrainFifo yang diberi nama MyPioTransmitCancelDrainFifo
, gunakan jenis fungsi EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO , seperti yang ditunjukkan dalam contoh kode ini:
EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO MyPioTransmitCancelDrainFifo;
Kemudian, terapkan fungsi panggilan balik Anda sebagai berikut:
_Use_decl_annotations_
BOOLEAN
MyPioTransmitCancelDrainFifo(
SERCX2PIOTRANSMIT PioTransmit
)
{...}
Jenis fungsi EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO 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_PIO_TRANSMIT_CANCEL_DRAIN_FIFO 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 di IRQL <= DISPATCH_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