IShellFolder::BindToObject 方法 (shobjidl_core.h)
擷取處理程式,通常是實作特定專案的 IShellFolder 的 Shell 資料夾物件。 控制處理程式建構的選擇性參數會在系結內容中傳遞。
語法
HRESULT BindToObject(
[in] PCUIDLIST_RELATIVE pidl,
[in] IBindCtx *pbc,
[in] REFIID riid,
[out] void **ppv
);
參數
[in] pidl
類型: PCUIDLIST_RELATIVE
識別子資料夾之 ITEMIDLIST 結構的位址 (PIDL) 。 此值可以參考命名空間階層中父資料夾下方任何層級的專案。 結構包含一或多個 SHITEMID 結構,後面接著終止 的 NULL。
[in] pbc
類型: IBindCtx*
系結內容物件上 IBindCtx 介面的指標,可用來將參數傳遞至處理程式的建構。 如果未使用此參數,請將它設定為 NULL。 因為這個參數的支援對於資料夾物件實作是選擇性的,所以某些資料夾可能不支援使用系結內容。
系結內容中提供的資訊包括 BIND_OPTS 結構,其中包含 grfMode 成員,指出系結至數據流處理程式時的存取模式。 您可以使用 IBindCtx::RegisterObjectParam 和 IBindCtx::GetObjectParam 來設定和探索其他參數。
[in] riid
類型: REFIID
要傳回之介面的標識碼。 這可能是 IID_IShellFolder、 IID_IStream或任何其他識別特定處理程式的介面。
[out] ppv
類型: void**
當這個方法傳回時,會包含所要求介面指標的位址。 如果發生錯誤,則會在此位址傳回 NULL 指標。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
應用程式會使用 IShellFolder::BindToObject (...、IID_IShellFolder...) 來取得子專案的 Shell 資料夾物件。 用戶端應該傳遞用來識別特定處理程式的標準介面 IID。 例如, IID_IShellFolder 識別資料夾處理程式, IID_IStream 識別數據流處理程式。 實作也支援使用衍生介面系結至處理程式,例如 IID_IShellFolder2。 Shell 命名空間延伸模組可以藉由為指定的子專案建立Shell資料夾物件,然後呼叫 QueryInterface 透過其介面指標與對象通訊,以實作此函式。
BindToObject 的實作可以針對不支援的 IID 值快速失敗,將它的任何呼叫優化。 例如,如果子專案的Shell資料夾物件不支援 IRemoteComputer,則實作應該會立即傳回 E_NOINTERFACE ,而不需為子專案建立Shell資料夾物件,然後在所有之後發現不支援 IRemoteComputer 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包括 Shobjidl.h) |
Dll | Shell32.dll (4.0 版或更新版本) |