次の方法で共有


SCATTER_GATHER_LIST構造体 (wdm.h)

SCATTER_GATHER_LIST構造体は、DMA 操作の散布/収集リストを記述します。

構文

typedef struct _SCATTER_GATHER_LIST {
  ULONG                  NumberOfElements;
  ULONG_PTR              Reserved;
  SCATTER_GATHER_ELEMENT Elements[];
} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;

メンバー

NumberOfElements

Elements 配列内の要素の数を指定します。

Reserved

将来利用するために予約されています。

Elements

散布/収集リストを構成する散布/収集要素の配列を指定します。 各配列要素は、 SCATTER_GATHER_ELEMENT型の構造体であり、次のように定義されます。

typedef struct _SCATTER_GATHER_ELEMENT {
  PHYSICAL_ADDRESS  Address;
  ULONG  Length;
  ULONG_PTR  Reserved;
} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;

SCATTER_GATHER_ELEMENT構造体は、物理的に連続した散布/収集領域の長さ (バイト単位) と、この領域の開始物理アドレスを指定します。

注釈

散布/収集 DMA を実行するドライバーの場合、 GetScatterGatherList または BuildScatterGatherList ルーチンは散布/収集リストを作成し、このリストをドライバーの AdapterListControl ルーチンに渡します。 この散布図/収集リストは 、SCATTER_GATHER_ELEMENT 配列によってメモリ内で直ちに続く SCATTER_GATHER_LIST 構造体で構成されます。 この配列内の要素の数は、SCATTER_GATHER_LIST構造体の NumberOfElements メンバーによって指定されます。

散布図/収集リストの詳細については、「 散布図/収集 DMA の使用」を参照してください。

要件

要件
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)

こちらもご覧ください

AdapterListControl

BuildScatterGatherList

GetScatterGatherList