Bagikan melalui


struktur WDF_DMA_ENABLER_CONFIG (wdfdmaenabler.h)

[Hanya berlaku untuk KMDF]

Struktur WDF_DMA_ENABLER_CONFIG memasok karakteristik untuk objek pengaktif DMA.

Sintaks

typedef struct _WDF_DMA_ENABLER_CONFIG {
  ULONG                                    Size;
  WDF_DMA_PROFILE                          Profile;
  size_t                                   MaximumLength;
  PFN_WDF_DMA_ENABLER_FILL                 EvtDmaEnablerFill;
  PFN_WDF_DMA_ENABLER_FLUSH                EvtDmaEnablerFlush;
  PFN_WDF_DMA_ENABLER_DISABLE              EvtDmaEnablerDisable;
  PFN_WDF_DMA_ENABLER_ENABLE               EvtDmaEnablerEnable;
  PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart;
  PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP  EvtDmaEnablerSelfManagedIoStop;
  ULONG                                    AddressWidthOverride;
  ULONG                                    WdmDmaVersionOverride;
  ULONG                                    Flags;
} WDF_DMA_ENABLER_CONFIG, *PWDF_DMA_ENABLER_CONFIG;

Anggota

Size

Ukuran, dalam byte, dari struktur ini.

Profile

Nilai yang WDF_DMA_PROFILE ketik, yang mengidentifikasi jenis operasi DMA master bus yang akan dikaitkan dengan objek pengaktif DMA.

MaximumLength

Ukuran maksimum default, dalam byte, yang dapat ditangani perangkat dalam satu transfer DMA. (Driver dapat mengganti nilai default ini untuk transaksi DMA individual dengan memanggil WdfDmaTransactionSetMaximumLength.) Jika driver Anda harus berjalan pada versi sistem operasi Microsoft Windows yang mendukung maksimum 16 register peta, MaximumLength harus kurang dari 65.536.

EvtDmaEnablerFill

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerFill driver, atau NULL.

EvtDmaEnablerFlush

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerFlush driver, atau NULL.

EvtDmaEnablerDisable

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerDisable driver, atau NULL.

EvtDmaEnablerEnable

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerEnable driver, atau NULL.

EvtDmaEnablerSelfManagedIoStart

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerSelfManagedIoStart driver, atau NULL.

EvtDmaEnablerSelfManagedIoStop

Penunjuk ke fungsi panggilan balik peristiwa EvtDmaEnablerSelfManagedIoStop driver, atau NULL.

AddressWidthOverride

Atur ke nol untuk menerima lebar alamat yang ditentukan di Profil. Driver dapat mengganti lebar alamat Profil dengan mengatur anggota ini ke nilai antara 24 dan 63. Jika driver Anda menentukan profil DMA mode sistem, AddressWidthOverride harus nol. Jika driver Anda menentukan profil DMA 32-bit, AddressWidthOverride tidak boleh lebih besar dari 32. Anggota AddressWidthOverride tersedia di KMDF versi 1.11 dan yang lebih baru. Lihat informasi selengkapnya di Keterangan.

WdmDmaVersionOverride

Atur ke nol untuk menerima versi DMA default. Untuk meminta DMA versi 3, atur ke 3. Anggota WdmDmaVersionOverride tersedia di KMDF versi 1.11 dan yang lebih baru. DMA versi 3 tersedia mulai dari Windows 8.

Flags

Bitwise ATAU dari satu atau beberapa nilai dari enumerasi WDF_DMA_ENABLER_CONFIG_FLAGS . Anggota Bendera tersedia di versi 1.11 dan di versi KMDF yang lebih baru.

Keterangan

Struktur WDF_DMA_ENABLER_CONFIG digunakan sebagai parameter input ke metode WdfDmaEnablerCreate .

Driver harus memanggil WDF_DMA_ENABLER_CONFIG_INIT untuk menginisialisasi struktur WDF_DMA_ENABLER_CONFIG .

Di Windows 8 dan yang lebih baru, ketika driver memberikan nilai bukan nol untuk AddressWidthOverride, kerangka kerja meminta DMA versi 3 dan meneruskan nilai AddressWidthOverride ke HAL.

Pada Windows 7 dan Windows Vista, ketika driver menyediakan nilai bukan nol untuk AddressWidthOverride, kerangka kerja menggunakan DMA 32-bit atau 24-bit. Misalnya, jika driver menentukan profil 64-bit dan menyediakan AddressWidthOverride 32, kerangka kerja menggunakan DMA 32-bit. Jika driver menentukan profil 32-bit dan menyediakan AddressWidthOverride 24, kerangka kerja menggunakan DMA 24-bit.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1,0
Header wdfdmaenabler.h (termasuk Wdf.h)

Lihat juga

EvtDmaEnablerDisable

EvtDmaEnablerEnable

EvtDmaEnablerFill

EvtDmaEnablerFlush

EvtDmaEnablerSelfManagedIoStart

EvtDmaEnablerSelfManagedIoStop

WDF_DMA_ENABLER_CONFIG_INIT

WDF_DMA_PROFILE

WdfDmaEnablerCreate

WdfDmaTransactionSetMaximumLength