Compartilhar via


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.
Caso contrário, STATUS_UNSUCCESSFUL será retornado.

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

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown