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 チャネル オブジェクトはページ メモリ内に存在してはなりません。
DmaChannel、OuterUnknown、ResourceList の各パラメーターは、COM オブジェクトの参照カウント規則に従います。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | PASSIVE_LEVEL |