Compartilhar via


Função StreamClassQueryMasterClockSync (strmini.h)

O minidriver pode chamar a rotina StreamClassQueryMasterClockSync para consultar de forma síncrona o relógio mestre de um fluxo.

Sintaxe

VOID STREAMAPI StreamClassQueryMasterClockSync(
  [in]      HANDLE           MasterClockHandle,
  [in, out] PHW_TIME_CONTEXT TimeContext
);

Parâmetros

[in] MasterClockHandle

Especifica o identificador do relógio mestre que está sendo consultado. O driver de classe passa isso na solicitação SRB_INDICATE_MASTER_CLOCK para a rotina StrMiniReceiveStreamControlPacket do minidriver.

[in, out] TimeContext

Especifica a estrutura de HW_TIME_CONTEXT que o driver de classe passa para a rotina de strMiniClock do relógio mestre. Antes de chamar essa rotina, o minidriver deve preencher os HwDeviceExtension, HwStreamObject e Function membros do TimeContext. StreamClassQueryMasterClockSync conclui os membros Time e SystemTime.

Valor de retorno

Nenhum

Observações

A rotina deve ser chamada no DISPATCH_LEVEL ou abaixo. Se o chamador estiver em execução em um IRQL gerado, ele deverá usar a versão assíncrona, StreamClassQueryMasterClock.

O driver de classe chama a rotina StrMiniClock do relógio mestre para consultar o relógio.

Em raras ocasiões, o gerenciador de grafos alterna o relógio mestre. O piloto de classe expõe uma condição de corrida ao lidar com o novo relógio mestre. Se o minidriver chamar uma rotina de relógio mestre da classe de fluxo imediatamente após receber um novo relógio do driver de classe, o driver de classe poderá produzir resultados inesperados.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho strmini.h (inclua Strmini.h)
biblioteca Stream.lib
IRQL <=DISPATCH_LEVEL (seção Consulte Comentários)

Consulte também

HW_TIME_CONTEXT

StrMiniClock

StrMiniReceiveStreamControlPacket

StreamClassQueryMasterClock