IShellLibrary::LoadLibraryFromKnownFolder メソッド (shobjidl_core.h)

KNOWNFOLDERID によって参照されるライブラリを読み込みます。

構文

HRESULT LoadLibraryFromKnownFolder(
  [in] REFKNOWNFOLDERID kfidLibrary,
  [in] DWORD            grfMode
);

パラメーター

[in] kfidLibrary

型: REFKNOWNFOLDERID

読み込むライブラリを識別する KNOWNFOLDERID 値。

[in] grfMode

型: DWORD

ライブラリ オブジェクトのアクセスモードと共有モードを指定する 1 つ以上の STGM ストレージ メディア フラグ。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このメソッドの呼び出し時に IShellLibrary オブジェクトにライブラリが含まれている場合、そのライブラリはメモリ内で新しいライブラリで上書きされます。

このライブラリに既存の IShellLibrary オブジェクトがない場合は、このメソッドの代わりに SHLoadLibraryFromItem を呼び出すことができます。

次のコード例は、このメソッドをラップするヘルパー関数 SHLoadLibraryFromKnownFolder を示しています。

//
// from shobjidl.h
//
__inline HRESULT SHLoadLibraryFromKnownFolder(
    __in REFKNOWNFOLDERID kfidLibrary, 
    __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->LoadLibraryFromKnownFolder(kfidLibrary, grfMode);
        if (SUCCEEDED(hr))
        {
            hr = plib->QueryInterface(riid, ppv);
        }
        plib->Release();
    }
    return hr;}

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)

こちらもご覧ください

IShellLibrary

IShellLibrary::LoadLibraryFromItem

SHCreateLibrary

SHLoadLibraryFromItem

SHLoadLibraryFromKnownFolder

SHLoadLibraryFromParsingName

Windows ライブラリ