Share via


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 列舉中 零個或多個旗標的位 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
程式庫 Mfuuid.lib

另請參閱

IMFTimer