Partager via


WDF_DMA_SYSTEM_PROFILE_CONFIG structure (wdfdmaenabler.h)

[S’applique à KMDF uniquement]

La structure WDF_DMA_SYSTEM_PROFILE_CONFIG décrit les paramètres spécifiques au matériel liés à un enabler DMA en mode système.

Syntaxe

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;

Membres

Size

Taille de cette structure en octets.

DemandMode

Spécifie que le transfert est contrôlé par l’assistant DMA de l’appareil
ligne de requête spécifiée dans le membre DmaDescriptor de cette structure. Pour plus d’informations, consultez Remarques.

LoopedTransfer

Spécifie que l’adaptateur DMA doit tourner autour du transfert spécifié si la longueur est supérieure à la taille de la mémoire tampon.

DmaWidth

Largeur du registre spécifiée par DeviceAddress. Les valeurs possibles sont Width8Bits, Width16Bits, Width32Bits et Width64Bits.

DeviceAddress

Adresse traduite vers ou à partir de laquelle le contrôleur DMA transfère. Le pilote peut spécifier un décalage de cette adresse de base sur chaque transaction en appelant WdfDmaTransactionSetDeviceAddressOffset.

DmaDescriptor

Descripteur de ressources traduit pour le canal DMA affecté à l’appareil pendant EvtDevicePrepareHardware. Cela fournit la ligne de requête DMA pour l’adaptateur.

Remarques

Le pilote fournit cette structure à WdfDmaEnablerConfigureSystemProfile après avoir créé un enabler DMA de profil système.

En règle générale, les pilotes définissent DemandMode sur TRUE. La fonction de rappel EvtProgramDma du pilote programme ensuite l’appareil pour affirmer sa ligne de requête DMA et lancer le transfert. Dans ce cas, le transfert peut commencer alors qu’EvtProgramDma est toujours en cours d’exécution.

Le pilote doit s’assurer que la ligne de requête DMA de l’appareil n’est pas déclarée avant que la fonction de rappel EvtProgramDma du pilote commence l’exécution. Sinon, il est possible que le transfert DMA commence avant que l’infrastructure appelle EvtProgramDma.

Si DemandMode est défini sur FALSE, le transfert DMA peut commencer avant que l’infrastructure appelle la fonction EvtProgramDma du pilote.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Version KMDF minimale 1.11
En-tête wdfdmaenabler.h (inclure Wdf.h)

Voir aussi

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile