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
IUnknown DMA チャネル オブジェクトを集計する必要があるオブジェクトのインターフェイスへのポインター。 このパラメーターは省略可能です。 集計が必要ない場合は、このパラメーター 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列挙型で定義されている非ページ プールの種類の 1 つに指定します。 IDmaChannel インターフェイス内のいくつかのメソッドを IRQL DISPATCH_LEVELから呼び出すことができるため、DMA チャネル オブジェクトはページ メモリ内に存在してはなりません。
DmaChannel、outerUnknown、および ResourceList パラメーターは、COM オブジェクト の参照カウント規則に従います。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | portcls.h (Portcls.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
IPortWavePci の
IResourceList の