Bagikan melalui


Fungsi WdfDmaTransactionSetMaximumLength (wdfdmatransaction.h)

[Berlaku untuk KMDF saja]

Metode WdfDmaTransactionSetMaximumLength menetapkan panjang maksimum untuk transfer DMA yang terkait dengan transaksi DMA tertentu.

Sintaks

void WdfDmaTransactionSetMaximumLength(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] size_t            MaximumLength
);

Parameter

[in] DmaTransaction

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

[in] MaximumLength

Ukuran maksimum, dalam byte, yang dapat ditangani perangkat dalam satu operasi transfer DMA. Jika driver Anda harus berjalan pada versi sistem operasi Microsoft Windows yang mendukung maksimum 16 register peta, MaximumLength harus kurang dari 65536.

Nilai MaximumLength hanya berlaku untuk transaksi DMA yang ditentukan, sebagai berikut:

  • Jika nilai yang ditentukan kurang dari nilai default yang ditentukan driver dalam struktur WDF_DMA_ENABLER_CONFIG , nilai yang ditentukan akan menggantikan nilai default.
  • Jika nilai yang ditentukan lebih besar dari nilai default, nilai yang ditentukan diabaikan.

Nilai kembali

Tidak ada

Keterangan

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

Driver Anda harus menginisialisasi transaksi DMA sebelum memanggil WdfDmaTransactionSetMaximumLength.

Untuk informasi tentang menginisialisasi transaksi DMA, lihat Membuat dan Menginisialisasi Transaksi DMA.

Contoh

Contoh kode berikut mengatur panjang transfer maksimum ke nilai yang ditentukan driver, untuk transaksi DMA tertentu.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

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)

Lihat juga

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate