Relógios Padrão

Os minidrivers de streaming de kernel podem chamar KsAllocateDefaultClockEx para alocar e inicializar uma estrutura de relógio padrão. Como alternativa, eles podem chamar KsAllocateDefaultClock, que é um wrapper para KsAllocateDefaultClockEx com parâmetros padrão para os membros nonclock. Chame KsCreateDefaultClock depois de usar KsAllocateDefaultClockEx para inicializar o relógio padrão.

O relógio padrão dá suporte a KSPROPSETID_Clock e pode ser acessado assim como qualquer outro relógio apresentado por um pino de filtro. No entanto, a estrutura de dados subjacente é criada pelo pino de filtro e compartilhada por esse pino e todas as instâncias do relógio que são criadas. O relógio depende do pino para atualizar o estado atual e outros elementos na estrutura compartilhada. O relógio padrão lida com solicitações de notificação e consultas de relógio.

Quando um pino no filtro que fornece esse relógio é atribuído a um relógio master, o pino possui esse relógio. O pino deve referenciar o objeto de arquivo de relógio, assim como se ele tivesse sido atribuído a alguma outra implementação de relógio. O relógio padrão não faz referência ao objeto de arquivo do pino quando uma instância é criada. Em vez disso, ele mantém uma contagem de referência interna com base na alocação inicial da estrutura comum do relógio e em cada objeto de arquivo aberto no relógio. Mesmo que o proprietário do relógio libere a estrutura do relógio, ele permanecerá no local até que todos os objetos de arquivo sejam fechados. O pino pode acessar diretamente o objeto de relógio padrão, em vez de passar pela interface do relógio padrão.

Os minidrivers podem dar suporte à propriedade KSPROPERTY_CLOCK_FUNCTIONTABLE para fornecer aos clientes do modo de usuário um mecanismo para marcar hora do relógio de referência. Essa propriedade preenche uma estrutura com ponteiros de função que permitem isso, dando suporte à correspondência precisa de taxa.

Além disso, os minidrivers dão suporte à propriedade KSPROPERTY_STREAM_RATE se um pin especificado permitir alterações de taxa.

Aplicativos que usam os métodos de chamada da interface proxy de streaming de kernel na interface IKsClockPropertySet para obter e definir a hora em relógios físicos que podem ser usados em outro lugar para correspondência de taxa.

Consulte Gerenciamento de Qualidade para obter informações relacionadas.