Partager via


structure DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION (wdm.h)

Définit une configuration qui décrit davantage 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 DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE-typée qui indique le type de configuration étendue de mémoire tampon commune que cette instance représente.

LogicalAddressLimits

Quand ConfigType est 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 dans 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 qu’au sein d’un MDL unique dans 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 les pages.

SubSection.Length

Fournit la longueur de la sous-section de mémoire tampon commune. Doit être aligné sur les pages.

HardwareAccessType

Lorsque ConfigType est CommonBufferConfigTypeHardwareAccessPermissions, il s’agit d’une valeur DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE-typée qui décrit les autorisations d’accès matériel pour la mémoire tampon commune en cours de création.

La création de mémoire tampon courante é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 de mémoire tampon courante 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 l'DMA_ADAPTER utilisée.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022
d’en-tête wdm.h

Voir aussi

énumération DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE

énumération DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE

routine de rappel PCREATE_COMMON_BUFFER_FROM_MDL