サービスの取得

IUnknown_QueryService APIの互換関数
(2004.11.26)
    // shlwapi.dll version 5.0 or later 互換
    static HRESULT Emulate_IUnknown_QueryService(
        IUnknown *punk,
        REFGUID guidService,
        REFIID riid,
        VOID **ppv)
    {
        HRESULT hr = S_OK;
 
        try
        {
            *ppv = NULL;
 
            IServiceProviderPtr spServiceProvider = punk;
            if (spServiceProvider == NULL)
            {
                return E_FAIL;
            }
 
            hr = spServiceProvider->QueryService(guidService, riid, ppv);
            if (FAILED(hr))
            {
                return hr;
            }
        }
        catch (...)
        {
            return E_FAIL;
        }
 
        return hr;
    }
一覧に戻る
© 2003 WAC.com All Right Reserved.