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.
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 |