Condividi tramite


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

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown