PCONFIGURE_ADAPTER_CHANNEL コールバック関数 (wdm.h)
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 コントローラーとデバイス ドライバーは、これらの構成パラメーターの意味に同意する必要があります。 Context が指すデータは、オペレーティング システムに対して不透明です。
戻り値
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以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | <= DISPATCH_LEVEL |