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 de 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 o AVStream define como o local da interface COM.
Valor de retorno
KsPinGetConnectedPinInterface retorna STATUS_SUCCESS ou STATUS_NOINTERFACE. Veja os detalhes abaixo.
Observações
Interface tem uma contagem de referência correspondente e deve ser liberado pelo chamador como em COM.
Essa rotina retorna STATUS_SUCCESS se a interface existir no pino conectado ou no thunk do AVStream. Se STATUS_SUCCESS for retornado, o AVStream deposita o ponteiro de 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 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 até o pino conectado ou pode consultar interfaces que foram agregadas ao pino conectado. Se o pino conectado for um pino AVStream; O AVStream fornece apenas thunking 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 procedimentos forem verdadeiros:
- A conexão é intra-AVStream (Fixarpino conectado é um pino AVStream).
- Pin é um pino de origem.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
da Plataforma de Destino | Universal |
cabeçalho | ks.h (incluir Ks.h) |
biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL |
Consulte também
KsPinGetConnectedFilterInterface