EVT_WDF_PROGRAM_DMA fungsi panggilan balik (wdfdmatransaction.h)
[Hanya berlaku untuk KMDF]
Fungsi panggilan balik peristiwa EvtProgramDma driver berbasis kerangka kerja memprogram perangkat tertentu untuk melakukan operasi transfer DMA.
Sintaks
EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;
BOOLEAN EvtWdfProgramDma(
[in] WDFDMATRANSACTION Transaction,
[in] WDFDEVICE Device,
[in] WDFCONTEXT Context,
[in] WDF_DMA_DIRECTION Direction,
[in] PSCATTER_GATHER_LIST SgList
)
{...}
Parameter
[in] Transaction
Handel ke objek transaksi DMA yang mewakili transaksi DMA saat ini.
[in] Device
Handel ke objek perangkat kerangka kerja.
[in] Context
Penunjuk konteks yang ditentukan driver dalam panggilan sebelumnya ke WdfDmaTransactionExecute.
[in] Direction
Nilai jenis WDF_DMA_DIRECTION yang menentukan arah operasi transfer DMA.
[in] SgList
Penunjuk ke struktur SCATTER_GATHER_LIST .
Nilai kembali
Fungsi panggilan balik EvtProgramDma harus mengembalikan TRUE jika berhasil memulai operasi transfer DMA. Jika tidak, fungsi panggilan balik ini harus mengembalikan FALSE. Namun, kerangka kerja saat ini mengabaikan nilai yang dikembalikan.
Keterangan
Driver mendaftarkan fungsi panggilan balik peristiwa EvtProgramDma dengan memanggil WdfDmaTransactionInitializeUsingRequest atau WdfDmaTransactionInitialize.
Kerangka kerja memanggil fungsi panggilan balik peristiwa EvtProgramDma driver saat transfer DMA tersedia. Fungsi panggilan balik harus memprogram perangkat keras untuk memulai transfer.
Driver tidak boleh memanipulasi buffer data yang terkait dengan transaksi sampai setelah WdfDmaTransactionDmaCompletedXxx telah mengembalikan TRUE.
Untuk transfer paket tunggal, daftar sebar/kumpulkan yang dituju parameter SgList berisi satu elemen.
Untuk informasi selengkapnya tentang fungsi panggilan balik ini, lihat Memprogram Perangkat Keras DMA.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfdmatransaction.h (termasuk Wdf.h) |
IRQL | DISPATCH_LEVEL |