次の方法で共有


PGET_DMA_ADAPTER_INFO コールバック関数 (wdm.h)

GetDmaAdapterInfo ルーチンは、システム DMA チャネルのハードウェア機能に関する情報を取得します。

構文

PGET_DMA_ADAPTER_INFO PgetDmaAdapterInfo;

NTSTATUS PgetDmaAdapterInfo(
  [in]      PDMA_ADAPTER DmaAdapter,
  [in, out] PDMA_ADAPTER_INFO AdapterInfo
)
{...}

パラメーター

[in] DmaAdapter

DMA_ADAPTER構造体へのポインター。 この構造体は、ドライバーのシステム DMA チャネルを表すアダプター オブジェクトです。 呼び出し元は、 IoGetDmaAdapter ルーチンの以前の呼び出しからこのポインターを取得しました。

[in, out] AdapterInfo

呼び出し元によって割り当てられた DMA_ADAPTER_INFO 構造体へのポインター。 このルーチンは、システム DMA コントローラーに関する情報をこの構造体に書き込みます。 呼び出し元は、GetDmaAdapterInfo を呼び出す前に、この構造体の Version メンバーを DMA_ADAPTER_INFO_VERSION1 に設定する必要があります。

戻り値

GetDmaAdapterInfo は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。

リターン コード 説明
STATUS_NOT_SUPPORTED
ルーチンは、指定されたバージョンの DMA_ADAPTER_INFO_XXX 構造体をサポートしていません。

注釈

GetDmaAdapterInfo は、名前で直接呼び出すことができるシステム ルーチンではありません。このルーチンは、DMA_OPERATIONS構造体で返されるアドレスからのポインターによってのみ呼び出すことができます ドライバーは、DeviceDescription パラメーターの Version メンバーをDEVICE_DESCRIPTION_VERSION3に設定して IoGetDmaAdapter を呼び出すことによって、このルーチンのアドレスを取得します。 IoGetDmaAdapterNULL を返す場合、このルーチンはプラットフォームでは使用できません。

GetDmaAdapterInfo は、次の情報を取得します。

  • DMA コントローラーが 1 回のスキャッタ/ギャザー DMA 操作で処理できるスキャッター/ギャザー リスト内の要素の最大数。
  • DMA アドレスの幅 (ビット単位)。
バージョン 1 の DMA_ADAPTER_INFO_XXX 構造体によって提供される DMA アダプター情報については、「 DMA_ADAPTER_INFO_V1」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用できます。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

DMA_ADAPTER

DMA_ADAPTER_INFO

DMA_OPERATIONS

IoGetDmaAdapter