AtlReportError
Configura la interfaz de IErrorInfo para proporcionar información de error a los clientes del objeto.
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
LPCOLESTR lpszDesc,
const IID& iid = GUID_NULL,
HRESULT hRes = 0
);
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
LPCOLESTR lpszDesc,
DWORD dwHelpID,
LPCOLESTR lpszHelpFile,
const IID& iid = GUID_NULL,
HRESULT hRes = 0
);
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
LPCSTR lpszDesc,
const IID& iid = GUID_NULL,
HRESULT hRes = 0
);
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
LPCSTR lpszDesc,
DWORD dwHelpID,
LPCSTR lpszHelpFile,
const IID& iid = GUID_NULL,
HRESULT hRes = 0
);
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
UINT nID,
const IID& iid = GUID_NULL,
HRESULT hRes = 0,
HINSTANCE hInst = _AtlBaseModule.GetResourceInstance( )
);
HRESULT WINAPI AtlReportError(
const CLSID& clsid,
UINT nID,
DWORD dwHelpID,
LPCOLESTR lpszHelpFile,
const IID& iid = GUID_NULL,
HRESULT hRes = 0,
HINSTANCE hInst = _AtlBaseModule.GetResourceInstance( )
);
Parámetros
clsid
[in] El CLSID del objeto que indica el error.lpszDesc
[in] la cadena que describe el error.Las versiones de Unicode especifican que lpszDesc es de LPCOLESTRescrito; la versión ANSI especifica un tipo de LPCSTR.iid
[in] El IID de la interfaz que define el error o GUID_NULL si el error está definido por el sistema operativo.hRes
[in] HRESULT que desee volver al llamador.nID
[in] El identificador de recursos donde se almacena la cadena de descripción del error.Este valor debe mentir entre 0x0200 y 0xFFFF, incluidos.En las compilaciones de depuración, DECLARAR se producirá si no lo hace nID índice una cadena válida.En las versiones de lanzamiento, la cadena de descripción del error será “error desconocido establecido”.dwHelpID
[in] El identificador de contexto de ayuda para el error.lpszHelpFile
[in] La ruta de acceso y el nombre del archivo de ayuda que describe el error.hInst
[in] El identificador del recurso.De forma predeterminada, este parámetro es __AtlBaseModuleModule:: GetResourceInstance, donde es la instancia __AtlBaseModuleModule global de CAtlBaseModule o una clase derivada de ella.
Valor devuelto
Si el parámetro de hRes es distinto de cero, devuelve el valor de hRes.Si hRes es cero, las primeras cuatro versiones de retorno DISP_E_EXCEPTIONde AtlReportError .Las dos versiones últimas devuelve el resultado de MAKE_HRESULT (1, FACILITY_ITF, macronID ).
Comentarios
El lpszDesc de la cadena se utiliza como la descripción de texto del error.Cuando el cliente recibe hRes que se devuelve de AtlReportError, el cliente puede tener acceso a la estructura de IErrorInfo para obtener más información sobre el error.
Ejemplo
STDMETHODIMP CMyControl::MyErrorProneMethod()
{
BOOL bSucceeded = ErrorProneFunc();
if (bSucceeded)
return S_OK;
else
// hRes is set to DISP_E_EXCEPTION
return AtlReportError(GetObjectCLSID(), L"My error message");
}
Precaución |
---|
No utilice AtlReportError en controladores de C++.Algunas invalidaciones de estas funciones uso las macros de conversión de cadena ATL internamente, que a su vez utilizan la función de _alloca internamente.Mediante AtlReportError en captura de C++. el controlador puede producir excepciones en controladores de C++. |
Requisitos
encabezado: atlcom.h
Vea también
Referencia
Otros recursos
Funciones de Agregado de depuración y de notificación de errores