Partager via


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