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 thunk上,則此例程會傳回STATUS_SUCCESS。 如果傳回STATUS_SUCCESS,AVStream 會將介面指標儲存至 *Interface。 否則,例程會傳回STATUS_NOINTERFACE。 這會對應至 COM HRESULT E_NOINTERFACE。
根據預設,對象支援 IUnknown 介面和 IKsControl 介面。 如果連接的針腳是AVStream針腳,查詢和傳回的介面指標會直接呼叫另一個驅動程式。 另一方面,如果連接的針腳不屬於AVStream驅動程式,則會建立一個Thunk,透過同步呼叫包含連線針腳的驅動程式,使用 ioCallDriver,提供 IKsControl 支援。
KsPinGetConnectedPinInterface 最常見的用法是取得連線針腳的控制介面。 此控制介面可用於屬性、方法或事件向下呼叫連線的針腳,或可以查詢已匯總至連接針腳的介面。 如果連接的針腳是AVStream針腳,則為 ;AVStream 僅針對非 AVStream 針腳提供 IKsControl 和 IUnknown。
只有在 Pin 為來源釘選時,才會建立 thunk;因此,只有在下列一或多個為 true 時,呼叫才會運作:
- 連線是AVStream內部 (Pin的連線針腳是AVStream針腳)。
- 釘選 是來源釘選。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows XP 和更新版本的作系統和 DirectX 8.0 和更新版本的 DirectX 版本中提供。 |
目標平臺 | 普遍 |
標頭 | ks.h (包括 Ks.h) |
連結庫 | Ks.lib |
IRQL | PASSIVE_LEVEL |
另請參閱
KsPinGetConnectedFilterInterface