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

Lihat juga

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest