オブジェクトの再生を停止します。
HRESULT Stop( IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags );
メソッドのインデックス: 5
演奏を停止するセグメントの IDirectMusicSegment インターフェースポインタを指定します。このセグメントに基づくすべてのセグメント状態は、mtTime の時点で停止されます。
演奏を停止するセグメント状態の IDirectMusicSegmentState インターフェースポインタを指定します。
停止するタイムを指定します。このタイムが過去のタイムである場合や、値として 0 を指定した場合には、演奏が即座に停止されます。
演奏の停止タイムを指定するフラグ値を指定します。
以下の値のいずれかの値か、 DMUS_SEGF_REFTIME と別のフラグいずれか1つを組み合わせた値を指定できます。
値 | 機能 |
---|---|
0 | 直ちに停止します。 |
0x40 (DMUS_SEGF_REFTIME) | i64StopTime の値は基準タイムであることを指定します。このフラグが指定されない場合は i64StopTime の値はミュージックタイムです。 |
0x800 (DMUS_SEGF_GRID) | i64StopTime の位置にある、またはそれ以降の次のグリッド境界で停止します。 |
0x1000 (DMUS_SEGF_BEAT) | i64StopTime の位置にある、またはそれ以降の次の拍境界で停止します。 |
0x2000 (DMUS_SEGF_MEASURE) | i64StopTime の位置にある、またはそれ以降の次の小節境界で停止します。 |
0x4000 (DMUS_SEGF_DEFAULT) | デフォルト境界で停止します。 |
0x800000 (DMUS_SEGF_SEGMENTEND) | プライマリセグメントの最後で停止します。 |
0x1000000 (DMUS_SEGF_MARKER) | 次のマーカーで停止します。 |
成功すると 0x00000000 (S_OK) が返ります。
無効なポインタが渡されたことで失敗すると 0x80004003 (E_POINTER) が返ります。
pSegment と pSegmentState の両方に 0 (NULL) を指定した場合は、パフォーマンスのすべての音楽は停止し、現在キューに置かれているすべてのセグメントが解放されます。 pSegment と pSegmentState のどちらか一方が 0 (NULL) 以外の値である場合、指定されたセグメントまたはセグメント状態がパフォーマンスから削除されます。
すべてのパラメータに 0 (NULL) を設定すると、すべての演奏が即座に停止し、コントローラ リセットメッセージおよびノートオフメッセージがマップされたすべてのパフォーマンスチャンネルに送信さます。