IShellLibrary::LoadLibraryFromItem 方法 (shobjidl_core.h)
從指定的連結庫定義檔載入連結庫。
語法
HRESULT LoadLibraryFromItem(
[in] IShellItem *psiLibrary,
[in] DWORD grfMode
);
參數
[in] psiLibrary
類型: IShellItem*
要載入之連結庫定義檔的 IShellItem 物件。 如果這個物件不是連結庫,則會傳回錯誤。
[in] grfMode
類型: DWORD
一或多個 STGM 儲存媒體旗標,指定連結庫物件的存取和共用模式。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
如果在已載入的 IShellLibrary 物件上呼叫這個方法,則會以新的資訊覆寫該物件的內容。
如果沒有現有的連結庫物件,可以呼叫 SHLoadLibraryFromItem 來取代此方法。
範例
下列程式代碼範例顯示協助程式函式 SHLoadLibraryFromItem,它會包裝這個方法。
//
// from shobjidl.h
//
__inline HRESULT SHLoadLibraryFromItem(
__in IShellItem *psiLibrary,
__in DWORD grfMode,
__in REFIID riid,
__deref_out void **ppv
)
{
*ppv = NULL;
IShellLibrary *plib;
HRESULT hr = CoCreateInstance(
CLSID_ShellLibrary,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&plib));
if (SUCCEEDED(hr))
{
hr = plib->LoadLibraryFromItem (psiLibrary, grfMode);
if (SUCCEEDED(hr))
{
hr = plib->QueryInterface (riid, ppv);
}
plib->Release();
}
return hr;
}
下列程式代碼範例顯示協助程式函式 SHLoadLibraryFromParsingName,它會包裝此方法。
//
// from shobjidl.h
//
__inline HRESULT SHLoadLibraryFromParsingName(
__in PCWSTR pszParsingName,
__in DWORD grfMode,
__in REFIID riid,
__deref_out void **ppv
)
{
*ppv = NULL;
IShellItem *psiLibrary;
HRESULT hr = SHCreateItemFromParsingName (
pszParsingName,
NULL,
IID_PPV_ARGS(&psiLibrary));
if (SUCCEEDED(hr))
{
hr = SHLoadLibraryFromItem (psiLibrary, grfMode, riid, ppv);
psiLibrary->Release();
}
return hr;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |