Fungsi WdfDmaTransactionGetCurrentDmaTransferLength (wdfdmatransaction.h)

[Hanya berlaku untuk KMDF]

Metode WdfDmaTransactionGetCurrentDmaTransferLength mengembalikan ukuran transfer DMA saat ini.

Sintaks

size_t WdfDmaTransactionGetCurrentDmaTransferLength(
  [in] WDFDMATRANSACTION DmaTransaction
);

Parameter

[in] DmaTransaction

Handel ke objek transaksi DMA yang diperoleh driver dari panggilan sebelumnya ke WdfDmaTransactionCreate.

Nilai kembali

WdfDmaTransactionGetCurrentDmaTransferLength mengembalikan panjang transfer DMA saat ini.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Jika driver memanggil WdfDmaTransactionGetCurrentDmaTransferLength, driver harus melakukannya sebelum memanggil salah satu rutinitas penyelesaian transfer, seperti WdfDmaTransactionDmaCompleted, untuk menyelesaikan transfer DMA saat ini. Biasanya, driver memanggil WdfDmaTransactionGetCurrentDmaTransferLength dari dalam fungsi panggilan balik peristiwa EvtInterruptDpc .

Biasanya, driver memanggil WdfDmaTransactionGetCurrentDmaTransferLength untuk perangkat yang melaporkan sisa panjang transfer DMA (yaitu, jumlah byte data yang tidak ditransfer). Dengan mengurangi panjang transfer sisa dari nilai yang dikembalikan WdfDmaTransactionGetCurrentDmaTransferLength , driver dapat menentukan panjang transfer aktual. Driver kemudian memanggil WdfDmaTransactionDmaCompletedWithLength untuk memberi tahu kerangka kerja jumlah byte yang benar-benar ditransfer perangkat.

Untuk informasi selengkapnya tentang transfer DMA lengkap, lihat Menyelesaikan Transfer DMA.

Contoh

Untuk contoh kode yang menggunakan WdfDmaTransactionGetCurrentDmaTransferLength, lihat WdfDmaTransactionDmaCompletedWithLength.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfdmatransaction.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

EvtInterruptDpc

WdfDmaTransactionCreate

WdfDmaTransactionDmaCompleted

WdfDmaTransactionDmaCompletedWithLength