ファイルからピクチャオブジェクト(IPicture)を作成

(2001.04.28)
#include <comdef.h>
#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib")
 
HRESULT OleLoadPictureFromFile(TCHAR* szFileName, IPicturePtr& spPicture)
{
    HRESULT hr = S_OK;
   
    try
    {
        IStreamPtr spStream;
        DWORD grfMode = STGM_READ | STGM_SHARE_DENY_WRITE;
#if 1
        hr = ::SHCreateStreamOnFile(szFileName, grfMode, &spStream);
#else // NO_SHLWAPI_STREAM
        // IE5.0以下でSHLWAPIが使用できない場合
        hr = ::_SHCreateStreamOnFile(szFileName, grfMode, &spStream);
#endif
        if (FAILED(hr))
        {
            return hr;
        }
       
        hr = ::OleLoadPicture(spStream, 0, FALSE, IID_IPicture, (void**)&spPicture);
        if (FAILED(hr))
        {
            return hr;
        }
    }
    catch (...)
    {
        return E_FAIL;
    }
   
    return hr;
}
一覧に戻る
© 2003 WAC.com All Right Reserved.