IMiniportDMus::NewStream メソッド (dmusicks.h)
NewStream
メソッドは、指定した物理チャネルに関連付けられた論理ストリームの新しいインスタンスを作成します。
構文
NTSTATUS NewStream(
[out] PMXF *MXF,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG PinID,
[in] DMUS_STREAM_TYPE StreamType,
[in] PKSDATAFORMAT DataFormat,
[out] PSERVICEGROUP *ServiceGroup,
[in] PAllocatorMXF AllocatorMXF,
[in] PMASTERCLOCK MasterClock,
[out] PULONGLONG SchedulePreFetch
);
パラメーター
[out] MXF
新しいストリームの出力ポインター。 このパラメーターは、呼び出し元によって割り当てられたポインター変数を指し、メソッドがストリーム オブジェクトの IMXF インターフェイスへのポインターを書き込みます。
[in, optional] OuterUnknown
ストリーム オブジェクトを集計する必要があるオブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは省略可能です。 集計が必要ない場合、呼び出し元は、このパラメーター NULLとして指定します。
[in] PoolType
DMA チャネル オブジェクトの記憶域の割り当て元となるメモリ プールの種類を指定します。 このパラメーターは、POOL_TYPE 列挙値のいずれかに設定されます。
[in] PinID
ピン ID を指定します。 このパラメーターは、開くピンを識別します。 DMus ミニポート ドライバーの IMiniport::GetDescription メソッドが、フィルター上の n ピン ファクトリの合計を指定するフィルター記述子を出力する場合、有効なピン ID の範囲は 0 から -1 の範囲。
[in] StreamType
作成するデータ ストリームの種類を指定します。 このパラメーターは、次のいずれかのDMUS_STREAM_TYPE列挙値に設定されます。
DMUS_STREAM_MIDI_RENDER
MIDI 出力 (再生) ストリームを指定します。
DMUS_STREAM_MIDI_CAPTURE
MIDI 入力ストリームを指定します。
DMUS_STREAM_WAVE_SINK
ウェーブ出力ストリームを指定します。
詳細については、次の「解説」セクションを参照してください。
[in] DataFormat
このインスタンスに使用するデータ形式を指定する KSDATAFORMAT 構造体 カーネル ストリーミングへのポインター
[out] ServiceGroup
サービス グループの出力ポインター。 このパラメーターは、呼び出し元によって割り当てられたポインター変数を指し、メソッドがストリームのサービス グループ オブジェクトの IServiceGroup インターフェイスへのポインターを書き込みます。 これは、割り込み通知用に登録されているサービス グループです。
[in] AllocatorMXF
IAllocatorMXF オブジェクトへのポインター。 これは、DMUS_KERNEL_EVENT 構造体をリサイクルするために必要なポート ドライバーのメモリ アロケーターです。
[in] MasterClock
IMasterClock オブジェクトへのポインター。 このマスター クロックは、KS クロックのラッパーをミニポート ドライバーに渡します。 基準時間に同期するには、マスター クロック ポインターが必要です。
[out] SchedulePreFetch
スケジュールプリフェッチ時間の出力ポインター。 このパラメーターは、呼び出し元によって割り当てられた ULONGLONG 変数へのポインターであり、メソッドはイベントのクエリを実行する時間値を指定します。 時間は 100 ナノ秒単位で指定されます。 ポート ドライバーは、ミニポート ドライバーがここで指定する時間を超えるイベントのシーケンス処理を担当します。
戻り値
NewStream
は、呼び出しが成功した場合にS_OKを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。
備考
ポート ドライバーは、NewStream
メソッドが pAllocatorMXF パラメーターを使用して入力する IAllocatorMXF オブジェクトを作成しますが、ミニポート ドライバーは、メソッドが ppMXF パラメーターを介して出力する IMXF オブジェクトを作成します。 IAllocatorMXF IMXF との詳細については、「MIDI トランスポート 参照してください。
IMiniportDMus::NewStream
メソッドの StreamType パラメーターの意味は、IMiniportMidi::NewStream メソッドの Capture パラメーターの意味と似ています。
- MIDI ピンでストリームを作成する場合、IMiniportMidi::NewStream メソッドの Capture パラメーターは、ピンが MIDI レンダー ストリームのシンク (Capture = FALSE) または MIDI キャプチャ ストリームのソース (Capture = TRUE) として機能するかどうかを示します。
-
同様に、MIDI または DirectMusic ピンでストリームを作成する場合、
IMiniportDMus::NewStream
メソッドの StreamType パラメーターは、ピンが MIDI レンダー ストリームのシンク (StreamType = DMUS_STREAM_MIDI_RENDER) または MIDI キャプチャ ストリームのソース (StreamType = DMUS_STREAM_MIDI_CAPTURE) として機能するかどうかを示すことができます。
IMiniportDMus::NewStream
メソッドの ppMXF 出力パラメーターを使用して取得) を照会します。 ポート ドライバーのウェーブ シンクは、ソフトウェア シンセサイザーからウェーブ データをプルするには、このインターフェイスで Render メソッドを呼び出します。 詳細については、「Kernel-Mode ソフトウェア シンセサイザー のウェーブ シンクをする」を参照してください。
ppMXF、pOuterUnknown、ppServiceGroup、pAllocatorMXF、および pMasterClock パラメーターの は、COM オブジェクト の参照カウント規則に従います。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dmusicks.h (Dmusicks.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
IAllocatorMXF の
IMXF を する
IMiniportDMus を する
IServiceGroup の