structure DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION (wdm.h)
Définit une configuration qui décrit plus en détail les contraintes et les fonctionnalités lors de la création d’une mémoire tampon commune. Le pilote peut fournir un tableau de structures DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION dans la routine de rappel CreateCommonBufferFromMdl .
Syntaxe
typedef struct _DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION {
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE ConfigType;
union {
struct {
PHYSICAL_ADDRESS MinimumAddress;
PHYSICAL_ADDRESS MaximumAddress;
} LogicalAddressLimits;
struct {
ULONGLONG Offset;
ULONG Length;
} SubSection;
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE HardwareAccessType;
ULONGLONG Reserved[4];
};
} DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION, *PDMA_COMMON_BUFFER_EXTENDED_CONFIGURATION;
Membres
ConfigType
Valeur de type DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE qui indique le type de configuration étendue de mémoire tampon commune que représente cette instance.
LogicalAddressLimits
Lorsque ConfigType a la valeur CommonBufferConfigTypeLogicalAddressLimits, décrit les limites d’adresses logiques pour la mémoire tampon commune en cours de création.
LogicalAddressLimits.MinimumAddress
Fournit l’adresse logique de départ minimale (inclusive) de la mémoire tampon commune en cours de création.
LogicalAddressLimits.MaximumAddress
Fournit l’adresse logique finale maximale (inclusive) de la mémoire tampon commune en cours de création.
SubSection
Lorsque ConfigType est CommonBufferConfigTypeSubSection, décrit la sous-section d’un MDL de stockage qui doit être utilisé pour sauvegarder la mémoire tampon commune en cours de création.
Une sous-section ne doit être contenue que dans une seule MDL d’une chaîne MDL.
SubSection.Offset
Fournit le décalage dans le MDL pour indiquer l’adresse de départ de la mémoire tampon commune. Doit être aligné sur la page.
SubSection.Length
Fournit la longueur de la sous-section mémoire tampon commune. Doit être aligné sur la page.
HardwareAccessType
Lorsque ConfigType est CommonBufferConfigTypeHardwareAccessPermissions, il s’agit d’une valeur de type DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE qui décrit les autorisations d’accès au matériel pour la mémoire tampon commune en cours de création.
La création d’une mémoire tampon commune échoue si le type d’accès n’est pas possible sur le système. ReadOnly et WriteOnly ne sont autorisés que si l’adaptateur DMA utilise le remapping DMA.
Reserved[4]
Ce champ n’est pas utilisé.
Remarques
Les configurations étendues sont un paramètre facultatif pour la routine de rappel CreateCommonBufferFromMdl .
Si aucune configuration étendue n’est fournie, la création d’une mémoire tampon commune utilise l’intégralité du MDL comme mémoire de stockage, avec une adresse logique minimale de zéro et une adresse logique maximale définie par le DMA_ADAPTER utilisée.
Configuration requise
Condition requise | Valeur |
---|---|
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | wdm.h |
Voir aussi
énumération DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE
énumération DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE
PCREATE_COMMON_BUFFER_FROM_MDL routine de rappel