Interface IKsControl (ks.h)
A interface IKsControl é uma interface de estilo COM implementada em filtros e pinos do AVStream. Ele permite que os clientes no modo kernel acessem objetos de automação AVStream (propriedades, métodos e eventos).
Consulte o IKsControl (ksproxy.h) interface COM de proxy de streaming de kernel para obter informações sobre o equivalente do modo kernel dessa interface.
Herança
A interface IKsControl herda da interface IUnknown.
Métodos
A interface IKsControl tem esses métodos.
IKsControl::KsEvent O método IKsControl::KsEvent habilita ou desabilita um evento, juntamente com quaisquer outras operações de suporte definidas disponíveis em um conjunto de eventos. |
IKsControl::KsMethod O método IKsControl::KsMethod envia um método para um objeto KS, juntamente com quaisquer outras operações de suporte definidas disponíveis em um conjunto de métodos. |
IKsControl::KsProperty O método IKsControl::KsProperty define uma propriedade ou recupera informações de propriedade, juntamente com quaisquer outras operações de suporte definidas disponíveis em um conjunto de propriedades. |
Observações
OBSERVAÇÃO: A interface IKsControl não deve ser usada com propriedades KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY em KSPROPERTYSETID_ExtendedCameraControl conjunto de propriedades, use IMFExtendedCameraController.
Os minidrivers normalmente adquirem a interface IKsControl por meio de uma chamada para KsPinGetConnectedFilterInterface ou KsPinGetConnectedPinInterface. Como essa é uma interface no estilo COM, a chamada de função para obter essa interface chama o método QueryInterface, que, por sua vez, chama o método AddRef. Portanto, o minidriver não precisa executar essas etapas.
No entanto, assim que o cliente for concluído com a interface de IKsControl, ele deverá liberar IKsControl com uma chamada para o método de versão.
Minidrivers escritos em C manipulam a interface de IKsControl como uma estrutura que contém um ponteiro para uma tabela de funções em vez de uma classe base abstrata C++.
Um cliente escrito em C++ faz o seguinte:
IKsControl *Control;
if (NT_SUCCESS (
KsPinGetConnectedPinInterface (
Pin,
IID_IKsControl,
(PVOID *)&Control) )
) {
Control -> KsProperty (...);
Control -> Release ();
}
No entanto, um cliente escrito em C usa esse código em vez disso:
IKsControl *Control;
If (NT_SUCCESS (
KsPinGetConnectedPinInterface (
Pin,
IID_IKsControl,
(PVOID *)&Control) )
) {
Control -> lpVtbl -> KsProperty (...);
Control -> lpVtbl -> Release ();
}
Para obter mais informações, consulte visão geral do AVStream.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Windows |
cabeçalho | ks.h (incluir Ks.h) |