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

ConfigTypeCommonBufferConfigTypeLogicalAddressLimits の場合、作成される共通バッファーの論理アドレス制限について説明します。

LogicalAddressLimits.MinimumAddress

作成される共通バッファーの (包括的な) 最小開始論理アドレスを提供します。

LogicalAddressLimits.MaximumAddress

作成される共通バッファーの (包括的な) 最大最終論理アドレスを提供します。

SubSection

ConfigTypeCommonBufferConfigTypeSubSection の場合、作成される共通バッファーをバックアップするために使用する必要があるバッキング MDL 内のサブセクションについて説明します。

サブセクションは、MDL チェーン内の 1 つの MDL 内にのみ含める必要があります。

SubSection.Offset

共通バッファーの開始アドレスを示すオフセットを MDL に提供します。 ページアラインされている必要があります。

SubSection.Length

共通バッファー サブセクションの長さを提供します。 ページアラインされている必要があります。

HardwareAccessType

ConfigTypeCommonBufferConfigTypeHardwareAccessPermissions の場合、これは、作成される共通バッファーのハードウェア アクセス許可を記述する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 列挙

DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE 列挙

コールバック ルーチンPCREATE_COMMON_BUFFER_FROM_MDL