Bagikan melalui


Metode IShellLibrary::LoadLibraryFromItem (shobjidl_core.h)

Memuat pustaka dari file definisi pustaka tertentu.

Sintaks

HRESULT LoadLibraryFromItem(
  [in] IShellItem *psiLibrary,
  [in] DWORD      grfMode
);

Parameter

[in] psiLibrary

Jenis: IShellItem*

Objek IShellItem untuk file definisi pustaka yang akan dimuat. Kesalahan dikembalikan jika objek ini bukan pustaka.

[in] grfMode

Jenis: DWORD

Satu atau beberapa bendera medium penyimpanan STGM yang menentukan mode akses dan berbagi untuk objek pustaka.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Jika metode ini dipanggil pada objek IShellLibrary yang sudah dimuat, konten objek tersebut ditimpa dalam memori dengan informasi baru.

Jika tidak ada objek pustaka, SHLoadLibraryFromItem dapat dipanggil sebagai pengganti metode ini.

Contoh

Contoh kode berikut menunjukkan fungsi pembantu SHLoadLibraryFromItem, yang membungkus metode ini.

//
// 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;
}

Contoh kode berikut menunjukkan fungsi pembantu SHLoadLibraryFromParsingName, yang membungkus metode ini.

//
// 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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)

Lihat juga

IShellLibrary

IShellLibrary::LoadLibraryFromKnownFolder

Skema Deskripsi Pustaka

SHLoadLibraryFromItem

SHLoadLibraryFromParsingName

Pustaka Windows