共用方式為


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 針腳提供 IKsControlIUnknown

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

  • 連線是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