struttura WDF_DMA_SYSTEM_PROFILE_CONFIG (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;
Membri
Size
Dimensione di questa struttura in byte.
DemandMode
Specifica che il trasferimento è controllato dal DMA del dispositivo
riga di richiesta specificata nel DmaDescriptor membro di questa struttura. Per altre informazioni, vedere la sezione Osservazioni.
LoopedTransfer
Specifica che l'adattatore DMA deve eseguire un ciclo intorno al trasferimento specificato se la lunghezza è maggiore della dimensione del buffer.
DmaWidth
Larghezza del registro specificato da DeviceAddress. I valori possibili sono Width8Bits, Width16Bits, Width32Bits e Width64Bits.
DeviceAddress
Indirizzo convertito 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 tradotte per il canale DMA assegnato al dispositivo durante EvtDevicePrepareHardware. In questo modo viene fornita la riga di richiesta DMA per l'adattatore.
Osservazioni:
Il driver fornisce questa struttura per WdfDmaEnablerConfigureSystemProfile dopo aver creato un abilitatore DMA del profilo di sistema.
In genere, i driver impostano DemandMode su TRUE. Il driver EvtProgramDma funzione di callback quindi programma il dispositivo per asserire 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 il driver EvtProgramDma funzione di callback 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 minima di KMDF | 1.11 |
intestazione | wdfdmaenabler.h (include Wdf.h) |