KsPinGetConnectedFilterInterface, fonction (ks.h)
La fonction KsPinGetConnectedFilterInterface interroge le filtre auquel Pin est connecté afin d’obtenir un pointeur vers une interface COM.
Syntaxe
KSDDKAPI NTSTATUS KsPinGetConnectedFilterInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
Paramètres
[in] Pin
Pointeur vers une structure KSPIN . Le filtre auquel cette broche est attachée est interrogé pour l’interface demandée.
[in] InterfaceId
Pointeur vers un GUID représentant l’ID d’interface que l’interface doit obtenir. Un appel QueryInterface est automatiquement effectué pour cette interface.
[out] Interface
Pointeur vers un PVOID. Comme dans COM, le pointeur d’interface résultant est déposé dans *Interface. Cette interface a un nombre de références correspondant et doit être libérée par l’appelant comme dans COM.
Valeur retournée
KsPinGetConnectedFilterInterface retourne STATUS_SUCCESS si l’interface existe sur le filtre connecté ou dans le thunk AVStream. Si STATUS_SUCCESS est retourné, le pointeur d’interface est déposé dans *Interface. Sinon, il retourne STATUS_NOINTERFACE. Notez que cela correspond au E_NOINTERFACE COM HRESULT.
Remarques
Par défaut, les objets prennent en charge l’interface IUnknown et l’interface IKsControl . Si le filtre et la broche connectée sont des objets AVStream, la requête et le pointeur d’interface retourné sont des appels directs à l’autre pilote. Toutefois, si le code pin et le filtre connectés n’appartiennent pas à un pilote AVStream, un thunk est créé pour prendre en charge IKsControl via des appels synchrones au pilote contenant le filtre, à l’aide d’IoCallDriver.
L’utilisation la plus courante de KsPinGetConnectedFilterInterface consiste à acquérir l’interface de contrôle du filtre auquel Pin est attaché. Cette interface de contrôle peut ensuite être utilisée pour les appels de propriété, de méthode ou d’événement jusqu’à la broche connectée, ou peut interroger les interfaces qui ont été agrégées sur le filtre connecté. (Si le filtre connecté est un filtre AVStream ; AVStream fournit un thunking uniquement pour IKsControl et IUnknown pour les filtres 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 |