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 |
Header | wdm.h |
こちらもご覧ください
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 列挙