次の方法で共有


IMiniportWaveCyclic::NewStream メソッド (portcls.h)

メソッドは NewStream 、指定された物理チャネルに関連付けられている論理ストリームの新しいインスタンスを作成します。

構文

NTSTATUS NewStream(
  [out]          PMINIPORTWAVECYCLICSTREAM *Stream,
  [in, optional] PUNKNOWN                  OuterUnknown,
  [in]           POOL_TYPE                 PoolType,
  [in]           ULONG                     Pin,
  [in]           BOOLEAN                   Capture,
  [in]           PKSDATAFORMAT             DataFormat,
  [out]          PDMACHANNEL               *DmaChannel,
  [out]          PSERVICEGROUP             *ServiceGroup
);

パラメーター

[out] Stream

新しいストリームの出力ポインター。 このパラメーターは、メソッドがストリーム オブジェクトの IMiniportWaveCyclicStream インターフェイスへのポインターを書き込む呼び出し元によって割り当てられたポインター変数を指します。 呼び出し元は、このパラメーターの有効な NULL 以外のポインター値を指定します。

[in, optional] OuterUnknown

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

[in] PoolType

DMA チャネル オブジェクトの記憶域の割り当て元となるメモリ プールの種類を指定します。 このパラメーターは、 POOL_TYPE 列挙体で定義されている非ページ プール型のいずれかになります。

[in] Pin

開くピンの番号。 WaveCyclic ミニポート ドライバーの IMiniport::GetDescription メソッドがフィルター上の n 個のピン ファクトリの合計を指定するフィルター記述子を出力する場合、パラメーター Pin の有効な値は 0 から n-1 の範囲です。

[in] Capture

キャプチャ ストリームとレンダー ストリームのどちらを作成するかを指定します。 このパラメーターは、キャプチャ (入力) チャネルの 場合は TRUE 、再生 (出力) チャネルの 場合は FALSE です。

[in] DataFormat

このインスタンスに使用する形式を示す KSDATAFORMAT 構造体へのポインター。

[out] DmaChannel

DMA チャネルへの出力ポインター。 このパラメーターは、メソッドがミニポート ドライバーの DMA チャネル オブジェクトの IDmaChannel インターフェイスへのポインターを書き込む呼び出し元によって割り当てられたポインター変数を指します。 呼び出し元は、このパラメーターの有効な NULL 以外のポインター値を指定します。 詳細については、「解説」を参照してください。

[out] ServiceGroup

サービス グループの出力ポインター。 このパラメーターは、呼び出し元によって割り当てられたポインター変数を指します。この変数は、メソッドがストリームのサービス グループ オブジェクトの IServiceGroup インターフェイスへのポインターを書き込みます。 これは、割り込み通知用に登録されているサービス グループです。 呼び出し元は、このパラメーターの有効な NULL 以外のポインター値を指定します。

戻り値

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

注釈

メソッドは NewStream 、ストリームの初期状態を KSSTATE_STOP に設定し、その初期位置を 0 に設定します。 ( 「IMiniportWaveCyclicStream::SetState 」および 「IMiniportWaveCyclicStream::GetPosition」を参照してください)。

ポート ドライバーは 、DmaChannel オブジェクトに対して次のメソッドのみを呼び出します。

IDmaChannel::AllocatedBufferSize

IDmaChannel::BufferSize

IDmaChannel::CopyFrom

IDmaChannel::CopyTo

IDmaChannel::SetBufferSize

IDmaChannel::SystemAddress

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

要件

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

こちらもご覧ください

IDmaChannel

IMiniport::GetDescription

IMiniportWaveCyclic

IMiniportWaveCyclicStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE