|
|
ストリーム(IStream)のサイズの取得
IStream_Size APIの互換関数
|
(2004.11.29) |
// shlwapi.dll version 5.0 or later 互換
// CStreamHelper::GetStreamSize()と同等
static HRESULT Emulete_IStream_Size(
IStream *pstm,
ULARGE_INTEGER *pui)
{
if (pstm == NULL)
{
return E_FAIL;
}
if (pui == NULL)
{
return E_POINTER;
}
HRESULT hr = S_OK;
try
{
ULARGE_INTEGER zero = {0, 0};
*pui = zero;
STATSTG stat;
memset(&stat, 0, sizeof(stat));
hr = pstm->Stat(&stat, STATFLAG_NONAME);
if (FAILED(hr))
{
return hr;
}
*pui = stat.cbSize;
}
catch (...)
{
return E_FAIL;
}
return hr;
}
|
|
 |
| © 2003 WAC.com All Right Reserved. |
 |
|