CBaseReferenceClock::AdviseTime
AdviseTime メソッドは、単発のアドバイズ要求を作成する。このメソッドは IReferenceClock::AdviseTime メソッドを実装する。
構文
HRESULT AdviseTime(
REFERENCE_TIME baseTime,
REFERENCE_TIME streamTime,
HEVENT hEvent,
DWORD *pdwAdviseToken
);
パラメータ
baseTime
基準タイム (100 ナノ秒単位)。
streamTime
ストリーム オフセット タイム (100 ナノ秒単位)。
hEvent
イベントのハンドル。呼び出し元によって作成される。
pdwAdviseToken
アドバイズ要求の識別子を受け取る変数へのポインタ。
戻り値
次の表に示す、いずれかの HRESULT 値を返す。
値 | 説明 |
S_OK | 成功 |
E_INVALIDARG | 無効なタイム値 |
E_OUTOFMEMORY | 失敗 |
E_POINTER | NULL ポインタ引数 |
注意
このメソッドは、基準タイム baseTime + streamTime に対して単発のアドバイズ要求を作成する。この合計は、0 より大きく、かつ MAX_TIME より小さくなければならない。そうでない場合は、E_INVALIDARG を返す。クロックは、要求されたタイムに hEvent パラメータで指定されたイベントを通知する。
指定したタイムになる前に通知を取り消すには、CBaseReferenceClock::Unadvise メソッドを呼び出して、この呼び出しから返された pdwAdviseToken の値を渡す。通知の発生後、クロックは自動的に通知を取り消すので、Unadvise を呼び出す必要はない。ただし、呼び出しても間違いではない。
参照