DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION-Struktur (wdm.h)

Definiert eine Konfiguration, die Einschränkungen und Features beim Erstellen eines gemeinsamen Puffers weiter beschreibt. Der Treiber kann ein Array von DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION Strukturen in der Rückrufroutine CreateCommonBufferFromMdl bereitstellen.

Syntax

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;

Member

ConfigType

Ein DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE typisierter Wert, der den Typ der allgemeinen erweiterten Pufferkonfiguration angibt, die instance darstellt.

LogicalAddressLimits

Wenn ConfigTypeauf CommonBufferConfigTypeLogicalAddressLimits festgelegt ist, beschreibt die Logischen Adressgrenzwerte für den allgemeinen Puffer, der erstellt wird.

LogicalAddressLimits.MinimumAddress

Gibt die (inklusive) minimale logische Startadresse des allgemeinen Puffers an, der erstellt wird.

LogicalAddressLimits.MaximumAddress

Gibt die (inklusive) maximale endgültige logische Adresse des gemeinsamen Puffers an, der erstellt wird.

SubSection

Wenn ConfigTypeauf CommonBufferConfigTypeSubSection festgelegt ist, beschreibt den Unterabschnitt innerhalb einer backing MDL, der verwendet werden soll, um den allgemeinen Puffer zu sichern, der erstellt wird.

Ein Unterabschnitt darf nur in einer einzelnen MDL in einer MDL-Kette enthalten sein.

SubSection.Offset

Stellt den Offset in die MDL bereit, um die Startadresse des allgemeinen Puffers anzugeben. Muss seitenbündig sein.

SubSection.Length

Gibt die Länge des allgemeinen Pufferunterabschnitts an. Muss seitenbündig sein.

HardwareAccessType

Wenn ConfigTypeCommonBufferConfigTypeHardwareAccessPermissions ist, ist dies ein DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE typisierter Wert, der die Hardwarezugriffsberechtigungen für den gemeinsamen Puffer beschreibt, der erstellt wird.

Bei der allgemeinen Puffererstellung tritt ein Fehler auf, wenn der Zugriffstyp auf dem System nicht möglich ist. ReadOnly und WriteOnly sind nur zulässig, wenn der DMA-Adapter die DMA-Neuzuordnung verwendet.

Reserved[4]

Dieses Feld wird nicht verwendet.

Hinweise

Die erweiterten Konfigurationen sind ein optionaler Parameter für die Rückrufroutine CreateCommonBufferFromMdl .

Wenn keine erweiterten Konfigurationen bereitgestellt werden, verwendet die allgemeine Puffererstellung die gesamte MDL als Sicherungsspeicher mit einer logischen Mindestadresse von 0 (null) und einer maximalen logischen Adresse, die vom verwendeten DMA_ADAPTER definiert wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile wdm.h

Weitere Informationen

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE-Enumeration

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE-Enumeration

PCREATE_COMMON_BUFFER_FROM_MDL Rückrufroutine