ConfigureAdapterChannel ルーチンは、アダプター オブジェクトによって表される DMA コントローラーによって実装されるカスタム関数を呼び出します。
構文
PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;
NTSTATUS PconfigureAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG FunctionNumber,
[in] PVOID Context
)
{...}
パラメーター
[in] DmaAdapter
DMA_ADAPTER 構造体へのポインター。 この構造体は、ドライバーのシステム DMA チャネルを表すアダプター オブジェクトです。 呼び出し元は、IoGetDmaAdapter ルーチンへの以前の呼び出しからこのポインターを取得しました。
[in] FunctionNumber
選択するカスタム関数の番号。 詳細については、「解説」セクションを参照してください。
[in] Context
FunctionNumberで指定されたカスタム関数の構成パラメーターへのポインター。 この関数は DMA コントローラーによって実装され、アダプター オブジェクトを介してデバイス ドライバーからアクセスできます。 DMA コントローラーとデバイス ドライバーは、これらの構成パラメーターの意味に同意する必要があります。 コンテキスト が指 データは、オペレーティング システムに対して不透明です。
戻り値
ConfigureAdapterChannel 呼び出しが成功した場合、STATUS_SUCCESSが返されます。 考えられるエラー戻り値には、次の状態コードが含まれます。
戻り値 | 形容 |
---|---|
|
DMA 拡張機能は、FunctionNumber で指定された関数実装しません。 |
備考
ConfigureAdapterChannel は、名前で直接呼び出すことができるシステム ルーチンではありません。このルーチンは、DMA_OPERATIONS 構造体で返されたアドレスからのポインターによってのみ呼び出すことができます。ドライバーは、DeviceDescription パラメーターの Version メンバーをDEVICE_DESCRIPTION_VERSION3に設定して、IoGetDmaAdapter を呼び出すことによって、このルーチンのアドレスを取得します。 IoGetDmaAdapter が NULL 返す場合、このルーチンはプラットフォームでは使用できません。
ConfigureAdapterChannel は、システム DMA アダプターに対してのみ使用します。 バス マスター アダプターには、このルーチンを使用しないでください。
特定のシステム DMA コントローラーには、デバイス ドライバーが 1 つ以上のカスタム関数のセットを介してアクセスできる特別なハードウェア機能がある場合があります。 コントローラーは複数のカスタム関数を実装する場合があり、その場合、各関数は異なる関数番号で識別されます。 これらの関数は、異なるハードウェア プラットフォームで同じ機能をサポートできるように、DMA ハードウェア機能を抽象化します。
通常、カスタム関数は、DMA コントローラーで状態情報を設定して、後続の DMA 転送で使用するハードウェア機能を構成します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
IoGetDmaAdapter の