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

추가 정보

IShellLibrary

IShellLibrary::LoadLibraryFromKnownFolder

라이브러리 설명 스키마

SHLoadLibraryFromItem

SHLoadLibraryFromParsingName

Windows 라이브러리