次の方法で共有


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 MaximumLengthDma32BitAddressesDma64BitAddressesDmaWidthDmaSpeed は、同じ名前の DEVICE_DESCRIPTION 構造体のメンバーと意味が似ています。

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

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

注意

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

要件

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

こちらもご覧ください

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewSlaveDmaChannel

IResourceList