Ausnahmen (C/C++)
Es gibt zwei Ausnahmecodes, die beim Auftreten von Fehlern ausgelöst werden können:
ein Ausnahmecode für einen LoadLibrary-Fehler.
ein Ausnahmecode für einen GetProcAddress-Fehler.
Die Ausnahmeinformationen sehen wie folgt aus:
//
// Exception information
//
#define FACILITY_VISUALCPP ((LONG)0x6d)
#define VcppException(sev,err) ((sev) | (FACILITY_VISUALCPP<<16) | err)
Bei den ausgelösten Ausnahmecodes handelt es sich um die Standardwerte VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND) und VcppException(ERROR_SEVERITY_ERROR, ERROR_PROC_NOT_FOUND).Von der Ausnahme wird ein Zeiger auf eine DelayLoadInfo-Struktur im LPDWORD-Wert übergeben. Dieser Wert kann von GetExceptionInformation im Feld ExceptionInformation[0] der EXCEPTION_RECORD-Struktur abgerufen werden.
Wenn die falschen Bits im grAttrs-Feld festgelegt sind, wird zusätzlich die ERROR_INVALID_PARAMETER-Ausnahme ausgelöst.Diese Ausnahme ist in jedem Fall schwerwiegend.
Weitere Informationen finden Sie unter Struktur- und Konstantendefinitionen.