ストリーム(IStream)のシーク位置を先頭へ戻す

IStream_Reset APIの互換関数
(2004.11.29)
    // shlwapi.dll version 5.0 or later 互換
    // CStreamHelper::Emulete_IStream_Reset()と同等
    static HRESULT Emulete_IStream_Reset(IStream *pstm)
    {
        if (pstm == NULL)
        {
            return E_FAIL;
        }
 
        HRESULT hr = S_OK;
 
        try
        {
            LARGE_INTEGER zeroPos = {0, 0};
            ULARGE_INTEGER streamSize = {0, 0};
            hr = pstm->Seek(zeroPos, STREAM_SEEK_SET, &streamSize);
            if (FAILED(hr))
            {
                return hr;
            }
        }
        catch (...)
        {
            return E_FAIL;
        }
 
        return hr;
    }
一覧に戻る
© 2003 WAC.com All Right Reserved.