Compartilhar via


IReferenceClock::AdvisePeriodic

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esse método cria uma solicitação informar periódicos.

Syntax

HRESULT AdvisePeriodic(
  REFERENCE_TIME rtStartTime,
  REFERENCE_TIME rtPeriodTime,
  HSEMAPHORE hSemaphore,
  DWORD* pdwAdviseCookie
);

Parameters

  • rtStartTime
    [no] Hora da primeira notificação, em unidades 100-nanosecond.

    Deve ser maior que zero e menor que MAX_TIME.

  • rtPeriodTime
    [no] Período de tempo entre as notificações, em unidades-100 nanossegundos.

    Deve ser maior que zero.

  • hSemaphore
    [no] Identificador para um semáforo, criado pelo chamador.
  • pdwAdviseCookie
    [out] Ponteiro para uma variável que recebe um identificador para a solicitação Advise.

Return Value

Retorna um valor HRESULT.

Valores possíveis incluem o seguinte.

Valor Descrição

S_OK

O sucesso.

E_INVALIDARG

Valores inválidos tempo.

E_OUTOFMEMORY

Falha.

E_POINTER

Argumento ponteiro nulo.

Remarks

No tempo cada notificação, o relógio libera o semáforo especificado na hSemaphore parâmetro. Quando não mais notificações são exigido, chamar Unadvise e transmitir a pdwAdviseToken valor retornado deste chamar.

O seguinte exemplo de código cria uma solicitação informar que sinaliza Five seconds do tempo é criado e novamente a cada segundo daí em diante.

IReferenceClock *pRefClock = NULL;
// Get an IReferenceClock pointer (not shown).
DWORD          dwAdviseToken;
HANDLE         hSemaphore = CreateSemaphore(NULL, 0, 0x7FFFFFFF, NULL);
REFERENCE_TIME rtPeriodTime = 10000000; // A one-second interval
REFERENCE_TIME rtNow;
pRefClock->GetTime(&rtNow);
pRefClock->AdvisePeriodic(rtNow + (5 * rtPeriodTime),
                          rtPeriodTime, 
                          hSemaphore, 
                          &dwAdviseToken);
...
pRefClock->Unadvise(dwAdviseToken);

Requirements

Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment

See Also

Reference

IReferenceClock Interface