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