WDF_DMA_SYSTEM_PROFILE_CONFIG-Struktur (wdfdmaenabler.h)
[Gilt nur für KMDF]
Die WDF_DMA_SYSTEM_PROFILE_CONFIG-Struktur beschreibt die hardwarespezifischen Einstellungen im Zusammenhang mit einem DMA-Enabler im Systemmodus.
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;
Size
Die Größe dieser Struktur in Bytes.
DemandMode
Gibt an, dass die Übertragung vom DMA des Geräts gesteuert wird.
Anforderungszeile, die im DmaDescriptor-Member dieser Struktur angegeben ist. Weitere Informationen finden Sie unter Hinweise.
LoopedTransfer
Gibt an, dass der DMA-Adapter die angegebene Übertragung durchlaufen soll, wenn die Länge größer als die Größe des Puffers ist.
DmaWidth
Die Breite des durch DeviceAddress angegebenen Registers. Mögliche Werte sind Width8Bits, Width16Bits, Width32Bits und Width64Bits.
DeviceAddress
Die übersetzte Adresse an oder von der der DMA-Controller übertragen wird. Der Treiber kann einen Offset von dieser Basisadresse für jede Transaktion angeben, indem er WdfDmaTransactionSetDeviceAddressOffset aufruft.
DmaDescriptor
Der übersetzte Ressourcendeskriptor für den DMA-Kanal, der dem Gerät während evtDevicePrepareHardware zugewiesen wurde. Dadurch wird die DMA-Anforderungszeile für den Adapter bereitgestellt.
Der Treiber stellt diese Struktur für WdfDmaEnablerConfigureSystemProfile bereit, nachdem ein Systemprofil-DMA-Enabler erstellt wurde.
In der Regel legen Treiber DemandMode auf TRUE fest. Die EvtProgramDma-Rückruffunktion des Treibers programmiert dann das Gerät, um seine DMA-Anforderungszeile zu bestätigen und die Übertragung zu initiieren. In diesem Fall kann die Übertragung beginnen, während EvtProgramDma noch ausgeführt wird.
Der Treiber muss sicherstellen, dass die DMA-Anforderungszeile des Geräts nicht bestätigt wird, bevor die EvtProgramDma-Rückruffunktion des Treibers mit der Ausführung beginnt. Andernfalls kann die DMA-Übertragung beginnen, bevor das Framework EvtProgramDma aufruft.
Wenn DemandMode auf FALSE festgelegt ist, kann die DMA-Übertragung beginnen, bevor das Framework die EvtProgramDma-Funktion des Treibers aufruft.
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
KMDF-Mindestversion | 1.11 |
Kopfzeile | wdfdmaenabler.h (einschließen von Wdf.h) |