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 . Il filtro a cui è collegato questo pin viene eseguito una query per l'interfaccia richiesta.

[in] InterfaceId

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

[out] Interface

Puntatore a un PVOID. Come in COM, il puntatore dell'interfaccia risultante viene scaricato in *Interface. Questa interfaccia ha un numero di riferimenti corrispondente e deve essere rilasciata dal chiamante come in COM.

Valore restituito

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

Commenti

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 dell'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 thunk che fornisce il supporto di 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 è collegato Il 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 il thunking 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 operazioni sono vere:

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

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX.
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib
IRQL PASSIVE_LEVEL

Vedi anche

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown