Condividi tramite


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)

Vedere anche

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile