IMFTimer::SetTimer メソッド (mfidl.h)

指定した時刻にコールバックを呼び出すタイマーを設定します。

構文

HRESULT SetTimer(
  [in]  DWORD            dwFlags,
  [in]  LONGLONG         llClockTime,
  [in]  IMFAsyncCallback *pCallback,
  [in]  IUnknown         *punkState,
  [out] IUnknown         **ppunkKey
);

パラメーター

[in] dwFlags

MFTIMER_FLAGS列挙からの 0 個以上のフラグのビットごとの OR。

[in] llClockTime

タイマーが起動する時刻を、クロックの周波数の単位で指定します。 時刻は、 dwFlags の値に応じて、現在の時刻に対して絶対または相対的です。

[in] pCallback

コールバック オブジェクトの IMFAsyncCallback インターフェイスへのポインター。 呼び出し元は、このインターフェイスを実装する必要があります。 コールバックの Invoke メソッドは、 llClockTime パラメーターで指定された時点で呼び出されます。

[in] punkState

呼び出し元によって定義された状態オブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。 このオブジェクトを使用して、状態情報を保持できます。 コールバックが呼び出されると、オブジェクトが呼び出し元に返されます。

[out] ppunkKey

キャンセル オブジェクトの IUnknown インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。 タイマーを取り消すには、このポインターを IMFTimer::CancelTimer メソッドに渡します。 このパラメーターは、NULL でもかまいません。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_SHUTDOWN
クロックがシャットダウンされました。
MF_S_CLOCK_STOPPED
メソッドは成功しましたが、クロックは停止しています。

解説

クロックが停止した場合、メソッドは MF_S_CLOCK_STOPPEDを返します。 クロックが開始されるまで、コールバックは呼び出されません。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

関連項目

IMFTimer