KsPinGetConnectedFilterInterface-Funktion (ks.h)
Die KsPinGetConnectedFilterInterface-Funktion fragt den Filter ab, mit dem Pin- verbunden ist, um einen Zeiger auf eine COM-Schnittstelle abzurufen.
Syntax
KSDDKAPI NTSTATUS KsPinGetConnectedFilterInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
Parameter
[in] Pin
Ein Zeiger auf eine KSPIN--Struktur. Der Filter, an den dieser Pin angefügt ist, wird für die angeforderte Schnittstelle abgefragt.
[in] InterfaceId
Ein Zeiger auf eine GUID, die die Schnittstellen-ID für die abzurufende Schnittstelle darstellt. Für diese Schnittstelle wird automatisch ein QueryInterface-aufruf ausgeführt.
[out] Interface
Ein Zeiger auf ein PVOID. Wie in COM wird der resultierende Schnittstellenzeiger in *Interfaceabgelegt. Diese Schnittstelle verfügt über eine entsprechende Referenzanzahl, und müssen vom Aufrufer wie in COM freigegeben werden.
Rückgabewert
KsPinGetConnectedFilterInterface gibt STATUS_SUCCESS zurück, wenn die Schnittstelle im verbundenen Filter oder im AVStream thunk vorhanden ist. Wenn STATUS_SUCCESS zurückgegeben wird, wird der Schnittstellenzeiger in *Interfaceabgelegt. Andernfalls wird STATUS_NOINTERFACE zurückgegeben. Beachten Sie, dass dies dem COM-HRESULT-E_NOINTERFACE entspricht.
Bemerkungen
Standardmäßig unterstützen Objekte die IUnknown--Schnittstelle und die IKsControl--Schnittstelle. Wenn der Filter und der verbundene Pin AVStream-Objekte sind, sind die Abfrage und der zurückgegebene Schnittstellenzeiger direkte Aufrufe an den anderen Treiber. Wenn der verbundene Pin und Filter jedoch nicht zu einem AVStream-Treiber gehören, wird ein Thunk erstellt, der IKsControl-Unterstützung über synchrone Aufrufe des Treibers mit dem Filter bereitstellt, wobei IoCallDriververwendet wird.
Die am häufigsten verwendete Verwendung von KsPinGetConnectedFilterInterface- besteht darin, die Steuerungsschnittstelle für den Filter zu erhalten, an den Anheften angefügt wird. Diese Steuerelementschnittstelle kann dann für Eigenschafts-, Methoden- oder Ereignisaufrufe an den verbundenen Pin verwendet werden, oder sie können Schnittstellen abfragen, die auf dem verbundenen Filter aggregiert wurden. (Wenn der verbundene Filter ein AVStream-Filter ist; AVStream bietet Thunking nur für IKsControl- und IUnknown- für Nicht-AVStream-Filter).
Die Thunk wird nur erstellt, wenn Pin eine Quellnadel ist; Die Aufrufe funktionieren daher nur, wenn eine oder mehrere der folgenden Werte zutreffen:
- Die Verbindung ist intra-AVStream (Pinangeschlossenen Pin ist ein AVStream-Pin).
- Pin ist eine Quellnadel.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen. |
Zielplattform- | Universal |
Header- | ks.h (enthalten Ks.h) |
Library | Ks.lib |
IRQL- | PASSIVE_LEVEL |