Files

30 lines
645 B
C

#pragma once
#include <Windows.h>
inline HRESULT ResultFromWin32(__in DWORD dwErr)
{
return HRESULT_FROM_WIN32(dwErr);
}
inline HRESULT ResultFromLastError()
{
return ResultFromWin32(GetLastError());
}
inline HRESULT ResultFromKnownLastError()
{
HRESULT hr = ResultFromLastError();
return (SUCCEEDED(hr) ? E_FAIL : hr);
}
inline HRESULT ResultFromWin32Bool(BOOL b)
{
return b ? S_OK : ResultFromKnownLastError();
}
inline HRESULT ResultFromWin32Count(UINT cchResult, UINT cchBuffer)
{
return cchResult && cchResult <= cchBuffer ? S_OK : ResultFromWin32(ERROR_INSUFFICIENT_BUFFER);
}