WDF_DMA_SYSTEM_PROFILE_CONFIG struttura (wdfdmaenabler.h)
[Si applica solo a KMDF]
La struttura WDF_DMA_SYSTEM_PROFILE_CONFIG descrive le impostazioni specifiche dell'hardware correlate a un abilitatore DMA in modalità sistema.
Sintassi
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;
Members
Size
La dimensione di questa struttura in byte.
DemandMode
Specifica che il trasferimento è controllato dal DMA del dispositivo
riga richiesta specificata nel membro DmaDescriptor di questa struttura. Per altre informazioni, vedere Osservazioni.
LoopedTransfer
Specifica che l'adattatore DMA deve eseguire il ciclo intorno al trasferimento specificato se la lunghezza è maggiore della dimensione del buffer.
DmaWidth
Larghezza del registro specificata da DeviceAddress. I valori possibili sono Width8Bits, Width16Bits, Width32Bits e Width64Bits.
DeviceAddress
Indirizzo tradotto in o da cui il controller DMA trasferisce. Il driver può specificare un offset da questo indirizzo di base in ogni transazione chiamando WdfDmaTransactionSetDeviceAddressOffset.
DmaDescriptor
Il descrittore di risorse tradotto per il canale DMA assegnato al dispositivo durante EvtDevicePrepareHardware. In questo modo viene fornita la riga di richiesta DMA per l'adapter.
Commenti
Il driver fornisce questa struttura a WdfDmaEnablerConfigureSystemProfile dopo la creazione di un abilitatore DMA del profilo di sistema.
In genere, i driver impostano DemandMode su TRUE. La funzione di callback EvtProgramDma del driver programma quindi il dispositivo per affermare la riga di richiesta DMA e avviare il trasferimento. In questo caso, il trasferimento potrebbe iniziare mentre EvtProgramDma è ancora in esecuzione.
Il driver deve assicurarsi che la riga di richiesta DMA del dispositivo non venga asserta prima che la funzione di callback EvtProgramDma del driver inizi l'esecuzione. In caso contrario, è possibile che il trasferimento DMA inizi prima che il framework chiami EvtProgramDma.
Se DemandMode è impostato su FALSE, il trasferimento DMA può iniziare prima che il framework chiami la funzione EvtProgramDma del driver.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Versione KMDF minima | 1.11 |
Intestazione | wdfdmaenabler.h (include Wdf.h) |