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 篩選) 提供 IKsControl 和 IUnknown 的 Thunking。
只有在 Pin 是來源針 腳 時,才會建立 thunk;因此,只有在下列一或多個是 true 時,呼叫才會運作:
- 連線是AVStream內部 (針腳的聯機針腳是AVStream針腳) 。
- 針腳 是來源針腳。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX 版本。 |
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |
IRQL | PASSIVE_LEVEL |