Funzione KsPinGetConnectedPinInterface (ks.h)
La funzione KsPinGetConnectedPinInterface esegue una query sul pin a cui è connesso Pin per un'interfaccia di stile COM.
Sintassi
KSDDKAPI NTSTATUS KsPinGetConnectedPinInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
Parametri
[in] Pin
Puntatore a una struttura KSPIN . AVStream esegue una query sul pin connesso al pin per l'interfaccia richiesta.
[in] InterfaceId
Puntatore al GUID che specifica il tipo di interfaccia da ottenere. Viene eseguita automaticamente una chiamata QueryInterface per questa interfaccia.
[out] Interface
Puntatore a un puntatore impostato da AVStream sul percorso dell'interfaccia COM.
Valore restituito
KsPinGetConnectedPinInterface restituisce STATUS_SUCCESS o STATUS_NOINTERFACE. Vedere i dettagli di seguito.
Commenti
L'interfaccia ha un numero di riferimenti corrispondente e deve essere rilasciato dal chiamante come in COM.
Questa routine restituisce STATUS_SUCCESS se l'interfaccia esiste sul pin connesso o nel thunk AVStream. Se STATUS_SUCCESS viene restituito, AVStream deposita il puntatore dell'interfaccia in *Interface. In caso contrario, la routine restituisce STATUS_NOINTERFACE. Corrisponde alla E_NOINTERFACE COM HRESULT.
Per impostazione predefinita, gli oggetti supportano l'interfaccia IUnknown e l'interfaccia IKsControl . Se il pin connesso è un pin AVStream, la query e il puntatore dell'interfaccia restituito sono chiamate dirette all'altro driver. Se, d'altra parte, il pin connesso non appartiene a un driver AVStream, viene creato un thunk che fornisce il supporto IKsControl tramite chiamate sincrone al driver contenente il pin connesso, usando IoCallDriver.
L'utilizzo più comune di KsPinGetConnectedPinInterface consiste nell'acquisire l'interfaccia di controllo per il pin connesso. Questa interfaccia di controllo può essere usata per le chiamate di proprietà, metodo o evento al pin connesso o può eseguire query per le interfacce aggregate sul pin connesso. Se il pin connesso è un pin AVStream; AVStream fornisce solo thunking per IKsControl e IUnknown per i pin 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 |
Vedi anche
KsPinGetConnectedFilterInterface