DMA_ADAPTER構造体 (wdm.h)

DMA_ADAPTER構造体は、特定のデバイスの DMA コントローラーへのシステム定義インターフェイスを記述します。 ドライバーは IoGetDmaAdapter を呼び出して、この構造体を取得します。

構文

typedef struct _DMA_ADAPTER {
  USHORT          Version;
  USHORT          Size;
  PDMA_OPERATIONS DmaOperations;
} *PADAPTER_OBJECT, DMA_ADAPTER, *PDMA_ADAPTER;

メンバー

Version

この構造体のバージョンを指定します。 DMA_ADAPTER構造のバージョン 3 は、Windows 8 以降で使用できます。 この構造体のバージョン 1 と 2 の場合、このメンバーは値 1 に設定されます。 詳細については、「解説」を参照してください。

Size

この構造体のサイズをバイト単位で指定します。

DmaOperations

DMA アダプター関数へのポインターを含む DMA_OPERATIONS 構造体へのポインター。 このメンバーが指す DMA_OPERATIONS 構造体のバージョンは、 DMA_ADAPTER 構造体のバージョンによって決まります。 したがって、 DMA_ADAPTER 構造体のバージョン 1 の 場合、DmaOperations、DMA_OPERATIONS 構造体のバージョン 1 を指します。 構造体のバージョンの詳細については、次の「備考」セクションを参照してください。

注釈

DMA を使用してデータを転送するデバイスのドライバーは、この構造体を使用して、DMA コントローラーの使用を可能にする関数のアドレスを取得します。 通常、ドライバーは IoGetDmaAdapter ルーチンを呼び出してこの構造体を取得します。 ドライバーは、 BUS_INTERFACE_STANDARD インターフェイスのクエリを実行して、この構造を取得することもできます。

IoGetDmaAdapter ルーチンがDMA_ADAPTER構造体のバージョン 1 またはバージョン 2 へのポインターを返す場合、このルーチンは常に、この構造体の Version メンバーを 1 に設定します。 したがって、呼び出し元は Version メンバーを使用して、 DMA_ADAPTER 構造体のバージョン 1 と 2 を区別できません。 このルーチンによって返される DMA_ADAPTER 構造体のバージョンを確認する方法の詳細については、「 IoGetDmaAdapter」を参照してください。

要件

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

こちらもご覧ください

BUS_INTERFACE_STANDARD

DMA_OPERATIONS

IoGetDmaAdapter