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
EvtDmaEnablerSelfManagedIoStart