IPortWavePci::NewMasterDmaChannel メソッド (portcls.h)

メソッドは NewMasterDmaChannel 、バス マスター DMA チャネルの新しいインスタンスを作成します。

構文

NTSTATUS NewMasterDmaChannel(
                 PDMACHANNEL   *OutDmaChannel,
  [in, optional] PUNKNOWN      OuterUnknown,
  [in]           POOL_TYPE     PoolType,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           BOOLEAN       ScatterGather,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           BOOLEAN       IgnoreCount,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed,
  [in]           ULONG         MaximumLength,
  [in]           ULONG         DmaPort
);

パラメーター

OutDmaChannel

[in, optional] OuterUnknown

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

[in] PoolType

オブジェクトの割り当て元となる記憶域プールの種類を指定します。 これは 、POOL_TYPE 列挙値です。 このパラメーターに非ページ プールの種類を指定します。

[in, optional] ResourceList

IResourceList オブジェクトであるミニポート ドライバーのリソースリストへのポインター。 このパラメーターは省略可能であり、 NULL として指定できます。 メソッドは NewMasterDmaChannel 現在、このパラメーターを使用しません。

[in] ScatterGather

DMA チャネルで拡散/収集 DMA をサポートすることを要求します。 このパラメーターは常に TRUE に設定してください。

[in] Dma32BitAddresses

DMA 操作に 32 ビット アドレスを使用する方法を指定します。

[in] Dma64BitAddresses

DMA 操作に 64 ビット アドレスを使用する方法を指定します。

[in] IgnoreCount

DMA コントローラーの転送カウンターを無視するかどうかを示します。 このプラットフォームの DMA コントローラーが正確な転送カウンターを維持しないため、回避策が必要な場合は TRUE に 設定します。

[in] DmaWidth

使用されていません。 (DMA_WIDTH)(-1) に設定します。

[in] DmaSpeed

使用されていません。 (DMA_SPEED)(-1) に設定します。

[in] MaximumLength

この DMA チャネルに関連付けられるバッファー内の最大バイト数。

[in] DmaPort

使用しません。 0 に設定されます。

戻り値

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

注釈

メソッドの呼び出しパラメーター NewMasterDmaChannel の定義は、同じ名前の DEVICE_DESCRIPTION 構造体のメンバーの定義と似ています。

PoolType パラメーターを、POOL_TYPE列挙で定義されている非ページ プールの種類のいずれかに指定します。 IDmaChannel インターフェイス内のいくつかのメソッドを IRQL DISPATCH_LEVELから呼び出すことができるため、DMA チャネル オブジェクトはページ メモリ内に存在してはなりません。

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

要件

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

こちらもご覧ください

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE