Bagikan melalui


EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL fungsi panggilan balik (sercx.h)

Fungsi panggilan balik peristiwa EvtSerCx2SystemDmaTransmitConfigureDmaChannel dipanggil oleh versi 2 dari ekstensi kerangka kerja serial (SerCx2) untuk memungkinkan driver pengontrol serial melakukan konfigurasi kustom adaptor DMA yang mungkin diperlukan sebelum memulai setiap transfer DMA dalam transaksi transmisi DMA sistem.

Sintaks

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL EvtSercx2SystemDmaTransmitConfigureDmaChannel;

NTSTATUS EvtSercx2SystemDmaTransmitConfigureDmaChannel(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] PMDL Mdl,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

Parameter

[in] SystemDmaTransmit

Handel SERCX2SYSTEMDMATRANSMIT ke objek transmisi DMA sistem. Driver pengontrol serial sebelumnya disebut metode SerCx2SystemDmaTransmitCreate untuk membuat objek ini.

[in] Mdl

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

[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

Fungsi EvtSerCx2SystemDmaTransmitConfigureDmaChannel mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, kode status kesalahan akan ditampilkan.

Keterangan

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

Sebelum memulai transaksi transmisi DMA sistem, SerCx2 memanggil fungsi EvtSerCx2SystemDmaTransmitConfigureDmaChannel , jika diimplementasikan. Fungsi ini melakukan konfigurasi khusus pengontrol DMA sistem yang mungkin diperlukan sebelum SerCx2 memulai transaksi transmisi DMA sistem.

Driver pengontrol serial dapat memanggil metode seperti SerCx2SystemDmaTransmitGetDmaEnabler untuk mendapatkan pengaktif DMA untuk pengontrol DMA sistem yang digunakan untuk transaksi transmisi DMA sistem.

Untuk informasi selengkapnya, lihat SerCx2 System-DMA-Transmit Transactions.

Contoh

Untuk menentukan fungsi panggilan balik EvtSerCx2SystemDmaTransmitConfigureDmaChannel , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi panggilan balik yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi panggilan balik untuk driver. 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 EvtSerCx2SystemDmaTransmitConfigureDmaChannel yang bernama MySystemDmaTransmitConfigureDmaChannel, gunakan jenis fungsi EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL , seperti yang ditunjukkan dalam contoh kode ini:

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL  MySystemDmaTransmitConfigureDmaChannel;

Kemudian, terapkan fungsi panggilan balik Anda sebagai berikut:

_Use_decl_annotations_
NTSTATUS
  MySystemDmaTransmitConfigureDmaChannel(
    SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
    PMDL Mdl,
    ULONG Offset,
    ULONG Length
    )
  {...}

Jenis fungsi EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL didefinisikan 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_SYSTEM_DMA_TRANSMIT_CONFIGURE_DMA_CHANNEL 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

MDL

SERCX2SYSTEMDMATRANSMIT

SerCx2SystemDmaTransmitCreate

SerCx2SystemDmaTransmitGetDmaEnabler