Freigeben über


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 CreateCommonBufferFromMdl Rückrufroutine 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;

Angehörige

ConfigType

Ein DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE-typed-Wert, der den Typ der allgemeinen erweiterten Pufferkonfiguration angibt, die diese Instanz darstellt.

LogicalAddressLimits

Wenn ConfigType-CommonBufferConfigTypeLogicalAddressLimitsist, werden die logischen Adressgrenzwerte für den erstellten allgemeinen Puffer beschrieben.

LogicalAddressLimits.MinimumAddress

Stellt die (einschließlich) minimale anfangslogische Adresse des erstellten allgemeinen Puffers bereit.

LogicalAddressLimits.MaximumAddress

Stellt die (einschließlich) maximale endgültige logische Adresse des erstellten allgemeinen Puffers bereit.

SubSection

Wenn ConfigType-CommonBufferConfigTypeSubSection-ist, wird der Unterabschnitt in einer zugrunde stehenden MDL beschrieben, die zum Sichern des erstellten allgemeinen Puffers verwendet werden soll.

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 ausgerichtet sein.

SubSection.Length

Stellt die Länge des allgemeinen Pufferunterabschnitts bereit. Muss seitenbündig ausgerichtet sein.

HardwareAccessType

Wenn ConfigType-CommonBufferConfigTypeHardwareAccessPermissionsist, ist dies ein DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE-typed-Wert, der die Hardwarezugriffsberechtigungen für den erstellten allgemeinen Puffer beschreibt.

Die allgemeine Puffererstellung schlägt fehl, wenn der Zugriffstyp im System nicht möglich ist. ReadOnly und WriteOnly- sind nur zulässig, wenn der DMA-Adapter DMA Remapping verwendet.

Reserved[4]

Dieses Feld ist nicht verwendet.

Bemerkungen

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

Wenn keine erweiterten Konfigurationen bereitgestellt werden, verwendet die allgemeine Puffererstellung die gesamte MDL als Sicherungsspeicher mit einer minimalen logischen Adresse von Null und einer maximalen logischen Adresse, die von der verwendeten DMA_ADAPTER definiert wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Server- Windows Server 2022
Header- wdm.h

Siehe auch

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE-Aufzählung

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE-Aufzählung

PCREATE_COMMON_BUFFER_FROM_MDL Rückrufroutine