次の方法で共有


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 コントローラーとデバイス ドライバーは、これらの構成パラメーターの意味に同意する必要があります。 コンテキスト が指 データは、オペレーティング システムに対して不透明です。

戻り値

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

戻り値 形容
STATUS_NOT_IMPLEMENTED
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

関連項目

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter