次の方法で共有


KsPinGetConnectedPinInterface 関数 (ks.h)

KsPinGetConnectedPinInterface 関数は、COM スタイル インターフェイス Pin が接続されているピンに対してクエリを実行します。

構文

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

パラメーター

[in] Pin

KSPIN 構造体へのポインター。 AVStream は、要求されたインターフェイス Pin に接続されているピンに対してクエリを実行します。

[in] InterfaceId

取得するインターフェイスの種類を指定する GUID へのポインター。 QueryInterface 呼び出しは、このインターフェイスに対して自動的に実行されます。

[out] Interface

AVStream が COM インターフェイスの場所に設定するポインターへのポインター。

戻り値

KsPinGetConnectedPinInterface STATUS_SUCCESSまたはSTATUS_NOINTERFACEを返します。 詳細については、以下を参照してください。

備考

インターフェイス には対応する参照カウントがあり、は COM のように呼び出し元によって解放 必要があります。

このルーチンは、接続されたピンまたは AVStream サンクにインターフェイスが存在する場合にSTATUS_SUCCESSを返します。 STATUS_SUCCESSが返された場合、AVStream はインターフェイス ポインターを *Interface に設定します。 それ以外の場合、ルーチンはSTATUS_NOINTERFACEを返します。 これは COM HRESULT E_NOINTERFACEに対応します。

既定では、オブジェクトは IUnknown インターフェイスIKsControl インターフェイスをサポートします。 接続されているピンが AVStream ピンの場合、クエリと返されるインターフェイス ポインターは、他のドライバーへの直接呼び出しです。 一方、接続されたピンが AVStream ドライバーに属していない場合は、IoCallDriver を使用して、接続されたピンを含むドライバー 同期呼び出しを介して IKsControl サポート提供するサンクが作成されます。

KsPinGetConnectedPinInterface の最も一般的な使用方法は、接続されているピンのコントロール インターフェイスを取得することです。 このコントロール インターフェイスは、接続されたピンまでのプロパティ、メソッド、またはイベント呼び出しに使用することも、接続されたピンに集計されたインターフェイスを照会することもできます。 接続されたピンが AVStream ピンの場合。AVStream では、IKsControl と非 AVStream ピンの IUnknown に対してのみサンキングが提供されます。

サンクは、 ピン がソースピンの場合にのみ作成されます。したがって、呼び出しは、次の 1 つ以上が該当する場合にのみ機能します。

  • 接続は AVStream 内です (Pin接続されたピンは AVStream ピンです)。
  • ピン はソース ピンです。
それ以外の場合は、STATUS_UNSUCCESSFULが返されます。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。
ターゲット プラットフォーム 万国
ヘッダー ks.h (Ks.h を含む)
ライブラリ Ks.lib
IRQL PASSIVE_LEVEL

関連項目

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown