次の方法で共有


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 を呼び出す必要はない。ただし、呼び出しても間違いではない。

参照