30 lines
1021 B
Plaintext
30 lines
1021 B
Plaintext
{{/* 8 august 2018 */}}// this file is generated by tools/hresultwrap and should NOT be modified directly
|
|
#include "uipriv_windows.hpp"
|
|
|
|
static inline HRESULT lastErrorToHRESULT(DWORD lasterr, const char *funcname)
|
|
{
|
|
HRESULT hr;
|
|
|
|
hr = E_FAIL;
|
|
if (lasterr != 0)
|
|
hr = HRESULT_FROM_WIN32(lasterr);
|
|
uiprivImplBug("error calling %s: last error %I32d\n", funcname, lasterr);
|
|
return hr;
|
|
}{{range .}}
|
|
|
|
{{$narg := len .Arg}}HRESULT {{if .CallingConvention}}{{.CallingConvention}}{{else}}WINAPI{{end}} uiprivHR{{.Name}}({{range $i, $a := .Arg}}{{$a}}{{argcomma $i $narg}}{{end}}{{if .Save}}, _Out_ {{.Ret}} *outRet{{end}})
|
|
{
|
|
{{.Ret}} xyzret;
|
|
DWORD xyzlasterr;
|
|
|
|
{{if .Save}} if (outRet == NULL)
|
|
return E_POINTER;
|
|
{{end}} SetLastError(0);
|
|
xyzret = {{.Name}}({{range $i, $a := .Arg}}{{argname $a}}{{argcomma $i $narg}}{{end}});
|
|
xyzlasterr = GetLastError();
|
|
{{if .Save}} *outRet = xyzret;
|
|
{{end}} if (xyzret != {{.Failval}})
|
|
return S_OK;
|
|
return lastErrToHRESULT(xyzlasterr, "{{.Name}}()");
|
|
}{{/*TODO cleanup*/}}{{end}}
|