次の方法で共有


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 を呼び出すことによって、このルーチンのアドレスを取得します。 IoGetDmaAdapter が NULL 返す場合、このルーチンはプラットフォームでは使用できません。

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

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

必要条件

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

関連項目

DMA_ADAPTER

DMA_ADAPTER_INFO

DMA_OPERATIONS

IoGetDmaAdapter