Partager via


KsPinGetConnectedPinInterface, fonction (ks.h)

La fonction KsPinGetConnectedPinInterface interroge l’épingle à laquelle pin est connecté pour une interface de style COM.

Syntaxe

KSDDKAPI NTSTATUS KsPinGetConnectedPinInterface(
  [in]  PKSPIN     Pin,
  [in]  const GUID *InterfaceId,
  [out] PVOID      *Interface
);

Paramètres

[in] Pin

Pointeur vers une structure KSPIN . AVStream interroge la broche connectée à Pin pour l’interface demandée.

[in] InterfaceId

Pointeur vers le GUID spécifiant le type d’interface à obtenir. Un appel QueryInterface est automatiquement effectué pour cette interface.

[out] Interface

Pointeur vers un pointeur que AVStream définit vers l’emplacement de l’interface COM.

Valeur retournée

KsPinGetConnectedPinInterface retourne STATUS_SUCCESS ou STATUS_NOINTERFACE. Consultez les détails ci-dessous.

Remarques

L’interface a un nombre de références correspondant et doit être libérée par l’appelant comme dans COM.

Cette routine retourne STATUS_SUCCESS si l’interface existe sur la broche connectée ou dans le thunk AVStream. Si STATUS_SUCCESS est retourné, AVStream dépose le pointeur d’interface dans *Interface. Sinon, la routine retourne STATUS_NOINTERFACE. Cela correspond au E_NOINTERFACE COM HRESULT.

Par défaut, les objets prennent en charge l’interface IUnknown et l’interface IKsControl . Si la broche connectée est une broche AVStream, la requête et le pointeur d’interface retourné sont des appels directs à l’autre pilote. Si, en revanche, la broche connectée n’appartient pas à un pilote AVStream, un thunk est créé pour prendre en charge IKsControl par le biais d’appels synchrones au pilote contenant la broche connectée, à l’aide d’IoCallDriver.

L’utilisation la plus courante de KsPinGetConnectedPinInterface consiste à acquérir l’interface de contrôle pour la broche connectée. Cette interface de contrôle peut être utilisée pour les appels de propriété, de méthode ou d’événement vers le bas de la broche connectée ou peut interroger les interfaces qui ont été agrégées sur la broche connectée. Si la broche connectée est une broche AVStream ; AVStream fournit uniquement le thunking pour IKsControl et IUnknown pour les broches non AVStream.

Le thunk est créé uniquement si Pin est une broche source ; par conséquent, les appels fonctionnent uniquement si une ou plusieurs des conditions suivantes sont remplies :

  • La connexion est intra-AVStream (la broche connectée du code pin est une broche AVStream).
  • Pin est une broche source.
Sinon, STATUS_UNSUCCESSFUL est retourné.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX.
Plateforme cible Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib
IRQL PASSIVE_LEVEL

Voir aussi

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown