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 포함) |