Bagikan melalui


struktur WDF_DMA_SYSTEM_PROFILE_CONFIG (wdfdmaenabler.h)

[Hanya berlaku untuk KMDF]

Struktur WDF_DMA_SYSTEM_PROFILE_CONFIG menjelaskan pengaturan khusus perangkat keras yang terkait dengan pengaktif DMA mode sistem.

Sintaks

typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG {
  ULONG                           Size;
  BOOLEAN                         DemandMode;
  BOOLEAN                         LoopedTransfer;
  DMA_WIDTH                       DmaWidth;
  PHYSICAL_ADDRESS                DeviceAddress;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR DmaDescriptor;
} WDF_DMA_SYSTEM_PROFILE_CONFIG, *PWDF_DMA_SYSTEM_PROFILE_CONFIG;

Anggota

Size

Ukuran struktur ini dalam byte.

DemandMode

Menentukan bahwa transfer dikendalikan oleh DMA perangkat
baris permintaan ditentukan dalam anggota DmaDescriptor dari struktur ini. Lihat informasi selengkapnya di Keterangan.

LoopedTransfer

Menentukan bahwa adaptor DMA harus mengulangi transfer yang ditentukan jika panjangnya lebih besar dari ukuran buffer.

DmaWidth

Lebar register yang ditentukan oleh DeviceAddress. Nilai yang mungkin adalah Width8Bits, Width16Bits, Width32Bits, dan Width64Bits.

DeviceAddress

Alamat yang diterjemahkan ke atau dari mana pengontrol DMA ditransfer. Driver dapat menentukan offset dari alamat dasar ini pada setiap transaksi dengan memanggil WdfDmaTransactionSetDeviceAddressOffset.

DmaDescriptor

Deskriptor sumber daya yang diterjemahkan untuk saluran DMA yang ditetapkan perangkat selama EvtDevicePrepareHardware. Ini menyediakan baris permintaan DMA untuk adaptor.

Keterangan

Driver menyediakan struktur ini untuk WdfDmaEnablerConfigureSystemProfile setelah membuat pengaktif DMA profil sistem.

Biasanya, driver mengatur DemandMode ke TRUE. Fungsi panggilan balik EvtProgramDma driver kemudian memprogram perangkat untuk menegaskan baris permintaan DMA-nya dan memulai transfer. Dalam hal ini, transfer mungkin dimulai saat EvtProgramDma masih berjalan.

Driver harus memastikan bahwa baris permintaan DMA perangkat tidak ditegaskan sebelum fungsi panggilan balik EvtProgramDma driver memulai eksekusi. Jika tidak, transfer DMA dapat dimulai sebelum kerangka kerja memanggil EvtProgramDma.

Jika DemandMode diatur ke FALSE, transfer DMA dapat dimulai sebelum kerangka kerja memanggil fungsi EvtProgramDma driver.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Versi KMDF minimum 1.11
Header wdfdmaenabler.h (termasuk Wdf.h)

Lihat juga

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile