Bagikan melalui


EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE fungsi panggilan balik (sercx.h)

Fungsi panggilan balik peristiwa EvtSerCx2CustomTransmitTransactionInitialize dipanggil oleh versi 2 dari ekstensi kerangka kerja serial (SerCx2) untuk menyiapkan driver pengontrol serial untuk melakukan transaksi transmisi kustom.

Sintaks

EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE EvtSercx2CustomTransmitTransactionInitialize;

void EvtSercx2CustomTransmitTransactionInitialize(
  [in] SERCX2CUSTOMTRANSMITTRANSACTION CustomTransmitTransaction,
  [in] PMDL Mdl,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

Parameter

[in] CustomTransmitTransaction

Handel SERCX2CUSTOMTRANSMITTRANSACTION ke objek transmisi kustom. Driver pengontrol serial sebelumnya disebut metode SerCx2CustomTransmitTransactionCreate untuk membuat objek ini.

[in] Mdl

Penunjuk ke MDL yang menjelaskan halaman memori yang dibentangkan oleh buffer tulis untuk transaksi pengiriman kustom. Daftar sebar/kumpulkan untuk transfer DMA akan menggunakan wilayah memori ini yang ditentukan oleh parameter Offset dan Panjang .

[in] Offset

Offset awal untuk transfer data. Parameter ini adalah offset byte dari awal wilayah buffer yang dijelaskan oleh MDL. Jika MDL menentukan total N byte ruang buffer, kemungkinan nilai Offset berada dalam rentang 0 hingga N–1.

[in] Length

Ukuran, dalam byte, dari transfer data. Jika MDL menentukan total N byte ruang buffer, kemungkinan nilai Panjang berada dalam rentang 1 hingga N–Offset.

Nilai kembali

Tidak ada

Keterangan

Driver pengontrol serial Anda dapat, sebagai opsi, menerapkan fungsi ini. Jika diimplementasikan, driver mendaftarkan fungsi dalam panggilan SerCx2CustomTransmitTransactionCreate yang membuat objek transmisi kustom.

Driver Anda harus menerapkan fungsi EvtSerCx2CustomTransmitTransactionInitialize jika perlu menginisialisasi pengontrol serial dan perangkat keras terkait sebagai persiapan untuk transaksi pengiriman kustom baru. SerCx2 memanggil fungsi ini, jika diimplementasikan, sebelum memulai transaksi pengiriman kustom. Menanggapi panggilan ini, driver pengontrol serial harus memanggil metode SerCx2CustomTransmitTransactionInitializeComplete untuk memberi tahu SerCx2 setelah inisialisasi selesai.

Untuk informasi selengkapnya, lihat SerCx2 Custom-Transmit Transactions.

Contoh

Untuk menentukan fungsi panggilan balik EvtSerCx2CustomTransmitTransactionInitialize , 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 EvtSerCx2CustomTransmitTransactionInitialize yang diberi nama MyCustomTransmitTransactionInitialize, gunakan jenis fungsi EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE , seperti yang ditunjukkan dalam contoh kode ini:

EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE  MyCustomTransmitTransactionInitialize;

Kemudian, terapkan fungsi panggilan balik Anda sebagai berikut:

_Use_decl_annotations_
VOID
  MyCustomTransmitTransactionInitialize(
    SERCX2CUSTOMTRANSMITTRANSACTION  CustomTransmitTransaction,
    WDFREQUEST  Request,
    PMDL  Mdl,
    ULONG  Offset,
    ULONG  Length
    )
  {...}

Jenis fungsi EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE 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_CUSTOM_TRANSMIT_TRANSACTION_INITIALIZE 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

IRP_MJ_WRITE

MDL

SERCX2CUSTOMTRANSMITTRANSACTION

SerCx2CustomTransmitTransactionCreate