次の方法で共有


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を返します。 考えられるエラーの戻り値には、次の状態コードが含まれます。

戻り値 説明
STATUS_NOT_IMPLEMENTED
DMA 拡張機能は、 FunctionNumber で指定された関数を実装しません。

注釈

ConfigureAdapterChannel は、名前で直接呼び出すことができるシステム ルーチンではありません。このルーチンは、DMA_OPERATIONS構造体で返されるアドレスからのポインターによってのみ呼び出すことができます ドライバーは、DeviceDescription パラメーターの Version メンバーを DEVICE_DESCRIPTION_VERSION3 に設定して IoGetDmaAdapter を呼び出すことによって、このルーチンのアドレスを取得します。 IoGetDmaAdapterNULL を返す場合、ルーチンはプラットフォームで使用できません。

ConfigureAdapterChannel は、システム DMA アダプターに対してのみ使用します。 バス マスター アダプターには、このルーチンを使用しないでください。

特定のシステム DMA コントローラーには、デバイス ドライバーが 1 つ以上のカスタム関数のセットを介してアクセスできる特別なハードウェア機能がある場合があります。 コントローラーは複数のカスタム関数を実装する場合があります。その場合、各関数は異なる関数番号で識別されます。 これらの関数は、異なるハードウェア プラットフォームで同じ機能をサポートできるように、DMA ハードウェア機能を抽象化します。

通常、カスタム関数は、後続の DMA 転送で使用するハードウェア機能を構成するために、DMA コントローラーに状態情報を設定します。

要件

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

こちらもご覧ください

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter