次の方法で共有


IPortWaveCyclic::NewSlaveDmaChannel メソッド (portcls.h)

メソッドは NewSlaveDmaChannel 、下位 DMA チャネルの新しいインスタンスを作成します。

構文

NTSTATUS NewSlaveDmaChannel(
  [out] PDMACHANNELSLAVE *DmaChannel,
  [in]  PUNKNOWN         OuterUnknown,
  [in]  PRESOURCELIST    ResourceList,
  [in]  ULONG            DmaIndex,
  [in]  ULONG            MaximumLength,
  [in]  BOOLEAN          DemandMode,
  [in]  DMA_SPEED        DmaSpeed
);

パラメーター

[out] DmaChannel

メソッドが新しい DMA チャネル オブジェクトの IDmaChannelSlave インターフェイスへのポインターを書き込む呼び出し元によって割り当てられたポインター変数へのポインター。 このパラメーターに有効な NULL 以外のポインター値を指定します。

[in] OuterUnknown

DMA チャネル オブジェクトを集計する必要があるオブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは省略可能です。 集計が必要ない場合は、このパラメーターを NULL として指定します。

[in] ResourceList

IResourceList オブジェクトへのポインター。 このリソースリストには、DMA チャネルを記述するリソースが含まれています。

[in] DmaIndex

DMA チャネル記述子のリソース リスト内のインデックス。 この関数は、 ResourceList オブジェクトの IResourceList::Find xxx Entry メソッドの呼び出しパラメーターとしてこの値使用します。

[in] MaximumLength

このチャネルに関連付けられる循環 DMA バッファーの最大長 (バイト単位)。

[in] DemandMode

DMA チャネルに関連付けられているデバイスが需要モードをサポートしているかどうかを示します。

[in] DmaSpeed

DMA 速度は、 CompatibleTypeATypeBTypeC、または TypeF のいずれかのDMA_SPEED列挙値として指定できます。

戻り値

NewSlaveDmaChannel は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。

注釈

注意

Microsoft は、多様で包括的な環境をサポートしています。 この記事には、 バイアスフリー通信の Microsoft スタイル ガイド で除外として認識される用語への参照が含まれています。 この記事では、ソフトウェアに現在表示されているため、一貫性を保つ目的で単語または語句を使用します。 言語を削除するようにソフトウェアが更新されると、この記事は一致するように更新されます。

パラメーター MaximumLengthDemandModeDmaSpeed は、同じ名前の DEVICE_DESCRIPTION 構造体のメンバーと意味が似ています。

DMA ハードウェア機能がない WaveCyclic デバイスは、 下位デバイスと呼ばれます。 これに対し、 マスター デバイス には、バス マスタリング DMA ハードウェアが組み込まれています。 下位デバイスは、システム DMA コントローラーに依存して、必要なデータ転送を実行する必要があります。 メソッドは NewSlaveDmaChannel 、下位デバイスの DMA チャネル オブジェクトを作成します。 マスター デバイスの DMA チャネル オブジェクトを作成するには、代わりに IPortWaveCyclic::NewMasterDmaChannel メソッドを呼び出します。 Microsoft Windows Driver Kit (WDK) の sb16 サンプル オーディオ ドライバーは、下位デバイスの WaveCyclic ミニポート ドライバーの例です。 マスター デバイスと下位デバイスの詳細については、「 IDmaChannel 」および「 IDmaChannelSlave」を参照してください。

DmaChannelOuterUnknownおよび ResourceList パラメーターは、COM オブジェクトの参照カウント規則に従います。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewMasterDmaChannel

IResourceList