IPortWaveCyclic::NewMasterDmaChannel メソッド (portcls.h)
メソッドは NewMasterDmaChannel
、バス マスター DMA チャネルの新しいインスタンスを作成します。
構文
NTSTATUS NewMasterDmaChannel(
[out] PDMACHANNEL *DmaChannel,
[in] PUNKNOWN OuterUnknown,
[in, optional] PRESOURCELIST ResourceList,
[in] ULONG MaximumLength,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed
);
パラメーター
[out] DmaChannel
メソッドが新しい IDmaChannel オブジェクトへのポインターを書き込む呼び出し元によって割り当てられたポインター変数へのポインター。 このパラメーターに有効な NULL 以外のポインター値を指定します。
[in] OuterUnknown
DMA チャネル オブジェクトを集計する必要があるオブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは省略可能です。 集計が必要ない場合は、このパラメーターを NULL として指定します。
[in, optional] ResourceList
ミニポート ドライバーのリソース リストへのポインター。これは IResourceList オブジェクトです。 このパラメーターは省略可能であり、 NULL として指定できます。 メソッドは NewMasterDmaChannel
現在、このパラメーターを使用しません。
[in] MaximumLength
このチャネルに関連付けられる循環 DMA バッファーの最大長 (バイト単位)。
[in] Dma32BitAddresses
32 ビット アドレスの使用を指定します。
[in] Dma64BitAddresses
64 ビット アドレスの使用を指定します。
[in] DmaWidth
使用されていません。 (DMA_WIDTH)(-1) に設定します。
[in] DmaSpeed
使用されていません。 (DMA_SPEED)(-1) に設定します。
戻り値
NewMasterDmaChannel
は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。
注釈
Parameters MaximumLength、 Dma32BitAddresses、 Dma64BitAddresses、 DmaWidth、 DmaSpeed は、同じ名前の DEVICE_DESCRIPTION 構造体のメンバーと意味が似ています。
バス マスタリング DMA ハードウェアが組み込まれた WaveCyclic デバイスは、 マスター デバイスと呼ばれます。 これに対し、 下位デバイス には DMA ハードウェアがないため、必要なデータ転送を実行するためにシステム DMA コントローラーに依存する必要があります。 メソッドは NewMasterDmaChannel
、マスター デバイスの DMA チャネル オブジェクトを作成します。 下位デバイスの DMA チャネル オブジェクトを作成するには、代わりに IPortWaveCyclic::NewSlaveDmaChannel メソッドを呼び出します。 マスター デバイスと下位デバイスの詳細については、「 IDmaChannel 」および「 IDmaChannelSlave」を参照してください。
DmaChannel、OuterUnknown、および ResourceList パラメーターは、COM オブジェクトの参照カウント規則に従います。
注意
Microsoft は、多様で包括的な環境をサポートしています。 この記事には、 バイアスフリー通信の Microsoft スタイル ガイド で除外として認識される用語への参照が含まれています。 この記事では、ソフトウェアに現在表示されているため、一貫性を保つ目的で単語または語句を使用します。 言語を削除するようにソフトウェアが更新されると、この記事は一致するように更新されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | PASSIVE_LEVEL |