CreateErrorInfo (Compact 2013)
3/26/2014
This function creates an instance of a generic error object.
Syntax
HRESULT CreateErrorInfo(
ICreateErrorInfo** pperrinfo
);
Parameters
- pperrinfo
[in] Pointer to a pointer to a system-implemented generic error object that supports ICreateErrorInfo.
Return Value
If successful, the function returns the HRESULT value S_OK. If it could not create the error object, the function returns E_OUTOFMEMORY.
Remarks
This function retrieves a pointer to a generic error object, which you can use with QueryInterface on ICreateErrorInfo to set its contents. You can then pass the resulting object to SetErrorInfo.
The generic error object implements both ICreateErrorInfo and IErrorInfo.
Example
The following example code shows how to use the CreateErrorInfo function.
To use this function correctly, make sure that you have an EXCEPINFO structure that is populated with information about the exception that occurred.
Important
For readability, the following code example does not contain security checking or error handling. Do not use the following code in a production environment.
ICreateErrorInfo *perrinfo;
HRESULT hr;
hr = CreateErrorInfo(&pcerrinfo);
hr = pcerrinfo->SetGUID(IID_IHello);
hr = pcerrinfo->SetSource(m_excepinfo.bstrSource);
hr = pcerrinfo->SetDescription(m_excepinfo.bstrDescription);
hr = pcerrinfo->SetHelpFile(NULL);
hr = pcerrinfo->SetHelpContext(0);
hr = pcerrinfo->QueryInterface(IID_IErrorInfo, (LPVOID FAR*) &perrinfo);
if (SUCCEEDED(hr))
{
SetErrorInfo(0, perrinfo);
perrinfo->Release();
}
pcerrinfo->Release();
Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.
Requirements
Header |
oleauto.h |
Library |
oleaut32.lib |