KsPinGetConnectedFilterInterface 函式 (ks.h)

KsPinGetConnectedFilterInterface 函式會查詢 Pin 連接的篩選,以取得 COM 介面的指標。

語法

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

參數

[in] Pin

KSPIN 結構的指標。 系統會針對要求的介面查詢此針腳所附加的篩選。

[in] InterfaceId

GUID 的指標,表示要取得之介面的介面標識碼。 此介面會自動執行 QueryInterface 呼叫。

[out] Interface

PVOID 的指標。 如同 COM,產生的介面指標會儲存在 *介面中。 此介面具有對應的參考計數,而且 必須由 呼叫端在 COM 中釋出。

傳回值

KsPinGetConnectedFilterInterface 會傳回STATUS_SUCCESS如果介面存在於連線篩選或 AVStream Thunk 中。 如果傳回STATUS_SUCCESS,介面指標會儲存至 *介面。 否則,它會傳回STATUS_NOINTERFACE。 請注意,這會對應至 COM HRESULT E_NOINTERFACE。

備註

根據預設,對象支援 IUnknown 介面和 IKsControl 介面。 如果篩選和連接的針腳是AVStream物件,則查詢和傳回的介面指標會直接呼叫其他驅動程式。 不過,如果連線的針腳和篩選器不屬於AVStream驅動程式,則會建立Thunk,透過包含篩選條件的驅動程式同步呼叫來提供IKsControl支援,並使用 IoCallDriver

KsPinGetConnectedFilterInterface 最常見的用法是取得 Pin 附加之篩選的控件介面。 然後,這個控件介面可以用於屬性、方法或事件呼叫連線的針腳,也可以查詢已匯總至連線篩選的介面。 (如果連接的篩選條件是AVStream篩選條件;AVStream 僅針對非 AVStream 篩選) 提供 IKsControlIUnknown 的 Thunking。

只有在 Pin 是來源針 時,才會建立 thunk;因此,只有在下列一或多個是 true 時,呼叫才會運作:

  • 連線是AVStream內部 (腳的聯機針腳是AVStream針腳) 。
  • 針腳 是來源針腳。
否則會傳回STATUS_UNSUCCESSFUL。

規格需求

需求
最低支援的用戶端 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX 版本。
目標平台 Universal
標頭 ks.h (包含 Ks.h)
程式庫 Ks.lib
IRQL PASSIVE_LEVEL

另請參閱

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown