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