Поделиться через


Метод 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 .

[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
Header mfidl.h
Библиотека Mfuuid.lib

См. также раздел

IMFTimer