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を返します。 エラーの戻り値として考えられるのは、次の状態コードです。
リターン コード | 説明 |
---|---|
|
ルーチンは、指定されたバージョンの DMA_ADAPTER_INFO_XXX 構造体をサポートしていません。 |
注釈
GetDmaAdapterInfo は、名前で直接呼び出すことができるシステム ルーチンではありません。このルーチンは、DMA_OPERATIONS構造体で返されるアドレスからのポインターによってのみ呼び出すことができます 。 ドライバーは、DeviceDescription パラメーターの Version メンバーをDEVICE_DESCRIPTION_VERSION3に設定して IoGetDmaAdapter を呼び出すことによって、このルーチンのアドレスを取得します。 IoGetDmaAdapter が NULL を返す場合、このルーチンはプラットフォームでは使用できません。
GetDmaAdapterInfo は、次の情報を取得します。
- DMA コントローラーが 1 回のスキャッタ/ギャザー DMA 操作で処理できるスキャッター/ギャザー リスト内の要素の最大数。
- DMA アドレスの幅 (ビット単位)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | <= DISPATCH_LEVEL |