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 速度は、 Compatible、 TypeA、 TypeB、 TypeC、または TypeF のいずれかのDMA_SPEED列挙値として指定できます。
戻り値
NewSlaveDmaChannel
は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。
注釈
注意
Microsoft は、多様で包括的な環境をサポートしています。 この記事には、 バイアスフリー通信の Microsoft スタイル ガイド で除外として認識される用語への参照が含まれています。 この記事では、ソフトウェアに現在表示されているため、一貫性を保つ目的で単語または語句を使用します。 言語を削除するようにソフトウェアが更新されると、この記事は一致するように更新されます。
パラメーター MaximumLength、 DemandMode、 DmaSpeed は、同じ名前の DEVICE_DESCRIPTION 構造体のメンバーと意味が似ています。
DMA ハードウェア機能がない WaveCyclic デバイスは、 下位デバイスと呼ばれます。 これに対し、 マスター デバイス には、バス マスタリング DMA ハードウェアが組み込まれています。 下位デバイスは、システム DMA コントローラーに依存して、必要なデータ転送を実行する必要があります。 メソッドは NewSlaveDmaChannel
、下位デバイスの DMA チャネル オブジェクトを作成します。 マスター デバイスの DMA チャネル オブジェクトを作成するには、代わりに IPortWaveCyclic::NewMasterDmaChannel メソッドを呼び出します。 Microsoft Windows Driver Kit (WDK) の sb16 サンプル オーディオ ドライバーは、下位デバイスの WaveCyclic ミニポート ドライバーの例です。 マスター デバイスと下位デバイスの詳細については、「 IDmaChannel 」および「 IDmaChannelSlave」を参照してください。
DmaChannel、OuterUnknown、および ResourceList パラメーターは、COM オブジェクトの参照カウント規則に従います。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | PASSIVE_LEVEL |