DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION構造体 (wdm.h)
共通バッファーの作成時に制約と特徴をさらに説明する構成を定義します。 ドライバーは、CreateCommonBufferFromMdl コールバック ルーチン内の DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION 構造体の配列を提供できます。
構文
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;
メンバーズ
ConfigType
このインスタンスが表す共通バッファー拡張構成の型を示す DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE型指定された値。
LogicalAddressLimits
ConfigType が CommonBufferConfigTypeLogicalAddressLimits されている場合は、作成される共通バッファーの論理アドレス制限について説明します。
LogicalAddressLimits.MinimumAddress
作成される共通バッファーの (包括的な) 最小開始論理アドレスを提供します。
LogicalAddressLimits.MaximumAddress
作成される共通バッファーの (包括的な) 最大最終論理アドレスを提供します。
SubSection
ConfigType が CommonBufferConfigTypeSubSection されている場合は、作成される共通バッファーをバックするために使用するバッキング MDL 内のサブセクションについて説明します。
サブセクションは、MDL チェーン内の 1 つの MDL 内にのみ含める必要があります。
SubSection.Offset
共通バッファーの開始アドレスを示すオフセットを MDL に提供します。 ページアラインが必要です。
SubSection.Length
共通バッファー サブセクションの長さを提供します。 ページアラインが必要です。
HardwareAccessType
ConfigType が CommonBufferConfigTypeHardwareAccessPermissions されている場合、これは、作成される共通バッファーのハードウェア アクセス許可を記述する DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE型指定された値です。
システムでアクセスの種類が不可能な場合、一般的なバッファーの作成は失敗します。 読み取り専用 と WriteOnly は、DMA アダプターが DMA 再マッピングを使用している場合にのみ使用できます。
Reserved[4]
このフィールドは使用されません。
備考
拡張構成は、CreateCommonBufferFromMdl コールバック ルーチンの省略可能なパラメーターです。
拡張構成が指定されていない場合、一般的なバッファー作成では、MDL 全体がバッキング メモリとして使用され、最小論理アドレスは 0 で、使用される DMA_ADAPTER によって定義された最大論理アドレスが使用されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小サーバー | Windows Server 2022 |
ヘッダー | wdm.h |
関連項目
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 列挙型
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE 列挙型
PCREATE_COMMON_BUFFER_FROM_MDL コールバック ルーチン