Condividi tramite


Funzione KsPinGetConnectedFilterInterface (ks.h)

La funzione KsPinGetConnectedFilterInterface esegue una query sul filtro a cui è connesso Pin per ottenere un puntatore a un'interfaccia COM.

Sintassi

KSDDKAPI NTSTATUS KsPinGetConnectedFilterInterface(
  [in]  PKSPIN     Pin,
  [in]  const GUID *InterfaceId,
  [out] PVOID      *Interface
);

Parametri

[in] Pin

Puntatore a una struttura KSPIN. Viene eseguita una query sul filtro a cui è collegato questo pin per l'interfaccia richiesta.

[in] InterfaceId

Puntatore a un GUID che rappresenta l'ID interfaccia per l'interfaccia da ottenere. Per questa interfaccia viene eseguita automaticamente una chiamata QueryInterface.

[out] Interface

Puntatore a un PVOID. Come in COM, il puntatore dell'interfaccia risultante viene depositato in *Interface. Questa interfaccia ha un conteggio dei riferimenti corrispondente e devono essere rilasciati dal chiamante come in COM.

Valore restituito

KsPinGetConnectedFilterInterface restituisce STATUS_SUCCESS se l'interfaccia esiste nel filtro connesso o in AVStream thunk. Se viene restituito STATUS_SUCCESS, il puntatore dell'interfaccia viene depositato in *Interface. In caso contrario, restituisce STATUS_NOINTERFACE. Si noti che corrisponde al E_NOINTERFACE COM HRESULT.

Osservazioni

Per impostazione predefinita, gli oggetti supportano l'interfaccia IUnknown e l'interfaccia IKsControl. Se il filtro e il pin connesso sono oggetti AVStream, la query e il puntatore di interfaccia restituito sono chiamate dirette all'altro driver. Tuttavia, se il pin connesso e il filtro non appartengono a un driver AVStream, viene creato un batchk che fornisce il supporto IKsControl tramite chiamate sincrone al driver contenente il filtro, usando IoCallDriver.

L'utilizzo più comune di KsPinGetConnectedFilterInterface consiste nell'acquisire l'interfaccia di controllo per il filtro a cui allega pin. Questa interfaccia di controllo può quindi essere usata per le chiamate di proprietà, metodo o evento al pin connesso oppure può eseguire query per le interfacce aggregate nel filtro connesso. (Se il filtro connesso è un filtro AVStream; AVStream fornisce la funzionalità di funzionalità di batchking solo per IKsControl e IUnknown per i filtri non AVStream).

Il thunk viene creato solo se Pin è un pin di origine; pertanto, le chiamate funzionano solo se una o più delle seguenti sono vere:

  • La connessione è intra-AVStream (Pinpin connesso è un pin AVStream).
  • Pin è un pin di origine.
In caso contrario, viene restituito STATUS_UNSUCCESSFUL.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in DirectX 8.0 e versioni successive di DirectX.
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib
IRQL PASSIVE_LEVEL

Vedere anche

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown