KsPinGetConnectedFilterInterface 関数 (ks.h)
KsPinGetConnectedFilterInterface 関数は、Pin が接続されているフィルターを照会して、COM インターフェイスへのポインターを取得します。
構文
KSDDKAPI NTSTATUS KsPinGetConnectedFilterInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
パラメーター
[in] Pin
KSPIN 構造体へのポインター。 このピンが接続されているフィルターは、要求されたインターフェイスに対して照会されます。
[in] InterfaceId
取得するインターフェイスのインターフェイス ID を表す GUID へのポインター。 QueryInterface 呼び出しは、このインターフェイスに対して自動的に実行されます。
[out] Interface
PVOID へのポインター。 COM と同様に、結果のインターフェイス ポインターは *Interfaceに格納されます。 このインターフェイスには対応する参照カウントがあり、は COM のように呼び出し元 解放する必要があります。
戻り値
KsPinGetConnectedFilterInterface は、インターフェイスが接続されたフィルターまたは AVStream サンクに存在する場合にSTATUS_SUCCESSを返します。 STATUS_SUCCESSが返された場合、インターフェイス ポインターは *Interfaceに入ります。 それ以外の場合は、STATUS_NOINTERFACEを返します。 これは COM HRESULT E_NOINTERFACEに対応しています。
備考
既定では、オブジェクトは IUnknown インターフェイス と IKsControl インターフェイスをサポートします。 フィルターと接続されたピンが AVStream オブジェクトの場合、クエリと返されるインターフェイス ポインターは、他のドライバーへの直接呼び出しです。 ただし、接続されたピンとフィルターが AVStream ドライバーに属していない場合は、IoCallDriver を使用して、フィルターを含むドライバーへの同期呼び出しを通じて IKsControl サポート提供するサンクが作成されます。
KsPinGetConnectedFilterInterface の最も一般的な使用方法は、ピン がアタッチ フィルターのコントロール インターフェイスを取得することです。 このコントロール インターフェイスは、接続されたピンまでのプロパティ、メソッド、またはイベント呼び出しに使用することも、接続されたフィルターに集計されたインターフェイスを照会することもできます。 (接続されたフィルターが AVStream フィルターの場合。AVStream は、IKsControl に対してのみサンキングを提供し、非 AVStream フィルターの場合は IUnknown を します)。
サンクは、 ピン がソースピンの場合にのみ作成されます。したがって、呼び出しは、次の 1 つ以上が該当する場合にのみ機能します。
- 接続は AVStream 内です (Pin接続されたピンは AVStream ピンです)。
- ピン はソース ピンです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ks.h (Ks.h を含む) |
ライブラリ | Ks.lib |
IRQL | PASSIVE_LEVEL |