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