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)

Vedi anche

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile