Freigeben über


KsPinGetConnectedPinInterface-Funktion (ks.h)

Die KsPinGetConnectedPinInterface-Funktion fragt den Pin ab, mit dem Pin für eine COM-Formatschnittstelle verbunden ist.

Syntax

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

Parameter

[in] Pin

Ein Zeiger auf eine KSPIN-Struktur . AVStream fragt den Mit Pin verbundenen Pin für die angeforderte Schnittstelle ab.

[in] InterfaceId

Ein Zeiger auf die GUID, die den zu erhaltenden Schnittstellentyp angibt. Für diese Schnittstelle wird automatisch ein QueryInterface-Aufruf ausgeführt.

[out] Interface

Ein Zeiger auf einen Zeiger, den AVStream auf den Speicherort der COM-Schnittstelle festlegt.

Rückgabewert

KsPinGetConnectedPinInterface gibt STATUS_SUCCESS oder STATUS_NOINTERFACE zurück. Die Details hierzu finden Sie unten.

Hinweise

Die Schnittstelle verfügt über eine entsprechende Verweisanzahl und muss vom Aufrufer wie in COM freigegeben werden.

Diese Routine gibt STATUS_SUCCESS zurück, wenn die Schnittstelle am verbundenen Pin oder im AVStream-Thunk vorhanden ist. Wenn STATUS_SUCCESS zurückgegeben wird, legt AVStream den Schnittstellenzeiger in *Interface ab. Andernfalls gibt die Routine STATUS_NOINTERFACE zurück. Dies entspricht dem COM HRESULT-E_NOINTERFACE.

Standardmäßig unterstützen Objekte die IUnknown-Schnittstelle und die IKsControl-Schnittstelle . Wenn es sich bei dem verbundenen Pin um einen AVStream-Pin handelt, sind die Abfrage und der zurückgegebene Schnittstellenzeiger direkte Aufrufe des anderen Treibers. Wenn der verbundene Pin hingegen nicht zu einem AVStream-Treiber gehört, wird ein Thunk erstellt, der IKsControl-Unterstützung durch synchrone Aufrufe des Treibers mit dem verbundenen Pin mithilfe von IoCallDriver bereitstellt.

Die häufigste Verwendung von KsPinGetConnectedPinInterface besteht darin, die Steuerungsschnittstelle für den verbundenen Pin abzurufen. Diese Steuerungsschnittstelle kann für Eigenschaften-, Methoden- oder Ereignisaufrufe bis hinunter zum verbundenen Pin verwendet werden oder für Schnittstellen abfragen, die auf dem verbundenen Pin aggregiert wurden. Wenn es sich bei dem verbundenen Pin um einen AVStream-Pin handelt; AVStream bietet nur Thunking für IKsControl und IUnknown für Nicht-AVStream-Pins.

Der Thunk wird nur erstellt, wenn Pin eine Quellnadel 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).
  • Anheften ist eine Quellnadel.
Andernfalls wird STATUS_UNSUCCESSFUL zurückgegeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher DirectX-Versionen.
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown