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