Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WDF_DMA_ENABLER_CONFIG Struktur stellt Merkmale für ein DMA-Enabler-Objekt zur Verwendung.
Syntax
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;
Elemente
Size
Die Größe dieser Struktur in Byte.
Profile
Ein WDF_DMA_PROFILE-typed-Wert, der den Typ des Busmaster-DMA-Vorgangs angibt, der dem DMA-Enabler-Objekt zugeordnet wird.
MaximumLength
Die standardmäßige maximale Größe in Byte, die das Gerät in einer einzelnen DMA-Übertragungverarbeiten kann. (Treiber können diesen Standardwert für einzelne DMA-Transaktionen überschreiben, indem sie WdfDmaTransactionSetMaximumLength.) Wenn Ihr Treiber auf Versionen von Microsoft Windows-Betriebssystemen ausgeführt werden muss, die maximal 16 Kartenregisterunterstützen, muss MaximumLength- kleiner als 65.536 sein.
EvtDmaEnablerFill
Ein Zeiger auf die EvtDmaEnablerFill Ereignisrückruffunktion des Treibers oder NULL-.
EvtDmaEnablerFlush
Ein Zeiger auf die EvtDmaEnablerFlush Ereignisrückruffunktion oder NULL-.
EvtDmaEnablerDisable
Ein Zeiger auf die EvtDmaEnablerDisable Ereignisrückruffunktion oder NULL-.
EvtDmaEnablerEnable
Ein Zeiger auf die EvtDmaEnablerEnable Ereignisrückruffunktion des Treibers oder NULL-.
EvtDmaEnablerSelfManagedIoStart
Ein Zeiger auf die EvtDmaEnablerSelfManagedIoStart Ereignisrückruffunktion oder NULL-.
EvtDmaEnablerSelfManagedIoStop
Ein Zeiger auf die EvtDmaEnablerSelfManagedIoStop Ereignisrückruffunktion oder NULL-.
AddressWidthOverride
Legen Sie auf Null fest, um die in Profileangegebene Adressbreite zu akzeptieren. Ein Treiber kann die Profil- Adressbreite überschreiben, indem dieses Element auf einen Wert zwischen 24 und 63 festgelegt wird. Wenn Ihr Treiber ein DMA-Profil im Systemmodus angibt, muss AddressWidthOverride null sein. Wenn Ihr Treiber ein 32-Bit-DMA-Profil angibt, kann AddressWidthOverride- nicht größer als 32 sein. Das AddressWidthOverride Member ist in Version 1.11 und höheren Versionen von KMDF verfügbar. Weitere Informationen finden Sie in Anmerkungen.
WdmDmaVersionOverride
Legen Sie auf Null fest, um die Standard-DMA-Version zu akzeptieren. Um DMA Version 3 anzufordern, legen Sie diesen Auf 3 fest. Der WdmDmaVersionOverride Member ist in Version 1.11 und höheren Versionen von KMDF verfügbar. DMA Version 3 ist ab Windows 8 verfügbar.
Flags
Ein bitweises ODER von einem oder mehreren Werten aus der WDF_DMA_ENABLER_CONFIG_FLAGS Enumeration. Das Flags Member ist in Version 1.11 und in höheren Versionen von KMDF verfügbar.
Bemerkungen
Die WDF_DMA_ENABLER_CONFIG-Struktur wird als Eingabeparameter für die WdfDmaEnablerCreate-Methode verwendet.
Treiber müssen WDF_DMA_ENABLER_CONFIG_INIT aufrufen, um die WDF_DMA_ENABLER_CONFIG Struktur zu initialisieren.
Wenn der Treiber in Windows 8 und höher einen Wert ungleich Null für AddressWidthOverridebereitstellt, fordert das Framework DMA Version 3 an und übergibt den AddressWidthOverride Wert an die HAL.
Wenn der Treiber unter Windows 7 und Windows Vista einen Wert ungleich Null für AddressWidthOverridebereitstellt, verwendet das Framework entweder 32-Bit- oder 24-Bit-DMA. Wenn der Treiber beispielsweise ein 64-Bit-Profil angibt und eine AddressWidthOverride von 32 bereitstellt, verwendet das Framework 32-Bit-DMA. Wenn der Treiber ein 32-Bit-Profil angibt und eine AddressWidthOverride- von 24 bereitstellt, verwendet das Framework 24-Bit-DMA.
Anforderungen
Anforderung | Wert |
---|---|
Minimale KMDF-Version | 1.0 |
Kopfzeile | wdfdmaenabler.h (include Wdf.h) |
Siehe auch
EvtDmaEnablerSelfManagedIoStart