Função KsPinGetConnectedPinInterface (ks.h)
A função KsPinGetConnectedPinInterface consulta o pino ao qual Pin está conectado para uma interface de estilo COM.
Sintaxe
KSDDKAPI NTSTATUS KsPinGetConnectedPinInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
Parâmetros
[in] Pin
Um ponteiro para uma estrutura KSPIN . O AVStream consulta o pino conectado ao Pin para a interface solicitada.
[in] InterfaceId
Um ponteiro para o GUID que especifica o tipo de interface a ser obtido. Uma chamada QueryInterface é executada automaticamente para essa interface.
[out] Interface
Um ponteiro para um ponteiro que a AVStream define como o local da interface COM.
Retornar valor
KsPinGetConnectedPinInterface retorna STATUS_SUCCESS ou STATUS_NOINTERFACE. Veja detalhes abaixo.
Comentários
A interface tem uma contagem de referência correspondente e deve ser liberada pelo chamador como em COM.
Essa rotina retornará STATUS_SUCCESS se a interface existir no pino conectado ou na conversão do AVStream. Se STATUS_SUCCESS for retornado, o AVStream deposita o ponteiro da interface em *Interface. Caso contrário, a rotina retornará STATUS_NOINTERFACE. Isso corresponde ao E_NOINTERFACE COM HRESULT.
Por padrão, os objetos dão suporte à interface IUnknown e à interface IKsControl . Se o pino conectado for um pino AVStream, a consulta e o ponteiro de interface retornado serão chamadas diretas para o outro driver. Se, por outro lado, o pino conectado não pertencer a um driver AVStream, será criado um thunk que fornece suporte a IKsControl por meio de chamadas síncronas para o driver que contém o pino conectado, usando IoCallDriver.
O uso mais comum de KsPinGetConnectedPinInterface é adquirir a interface de controle para o pino conectado. Essa interface de controle pode ser usada para chamadas de propriedade, método ou evento para baixo para o pino conectado ou pode consultar interfaces que foram agregadas no pino conectado. Se o pino conectado for um pino AVStream; O AVStream fornece apenas conversão para IKsControl e IUnknown para pinos não AVStream.
O thunk só será criado se Pin for um pino de origem; Portanto, as chamadas só funcionarão se um ou mais dos seguintes itens forem verdadeiros:
- A conexão é intra-AVStream (o pino conectado do Pin é um pino AVStream).
- Pin é um pino de origem.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL |
Confira também
KsPinGetConnectedFilterInterface