IReferenceClock::AdvisePeriodic
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 |