KsPinGetConnectedFilterInterface-Funktion (ks.h)
Die KsPinGetConnectedFilterInterface-Funktion fragt den Filter ab, mit dem Pin verbunden ist, um einen Zeiger auf eine COM-Schnittstelle zu erhalten.
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 nach der angeforderten 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 eine PVOID. Wie bei COM wird der resultierende Schnittstellenzeiger in *Interface abgelegt. Diese Schnittstelle verfügt über eine entsprechende Verweisanzahl und muss 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 *Interface abgelegt. Andernfalls wird STATUS_NOINTERFACE zurückgegeben. Beachten Sie, dass dies dem COM HRESULT-E_NOINTERFACE entspricht.
Hinweise
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 der Filter jedoch nicht zu einem AVStream-Treiber gehören, wird ein Thunk erstellt, der IKsControl-Unterstützung durch synchrone Aufrufe des Treibers mit dem Filter mithilfe von IoCallDriver bereitstellt.
Die häufigste Verwendung von KsPinGetConnectedFilterInterface besteht darin, die Steuerungsschnittstelle für den Filter abzurufen, an den Pin angefügt wird. Diese Steuerungsschnittstelle kann dann für Eigenschafts-, Methoden- oder Ereignisaufrufe bis hinunter zum verbundenen Pin verwendet werden, oder kann Schnittstellen abfragen, die im verbundenen Filter aggregiert wurden. (Wenn der verbundene Filter ein AVStream-Filter ist; AVStream bietet Thunking nur für IKsControl und IUnknown für Filter ohne AVStream).
Das Thunk wird nur erstellt, wenn Pin eine Quell-Pin ist. Daher funktionieren die Aufrufe nur, wenn mindestens einer der folgenden Punkte zutrifft:
- Die Verbindung ist intra-AVStream (der verbundene Pin der Pin ist ein AVStream-Pin).
- Pin ist eine Quellnadel.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie DirectX 8.0 und höher DirectX-Versionen. |
Zielplattform | Universell |
Header | ks.h (ks.h einschließen) |
Bibliothek | Ks.lib |
IRQL | PASSIVE_LEVEL |