Исключения (C/C++)
Обновлен: Ноябрь 2007
При возникновении ошибок могут создаваться два кода исключения:
Для ошибок LoadLibrary;
Для ошибок GetProcAddress.
Вот сведения об исключениях:
//
// Exception information
//
#define FACILITY_VISUALCPP ((LONG)0x6d)
#define VcppException(sev,err) ((sev) | (FACILITY_VISUALCPP<<16) | err)
Коды создаваемых исключений — это стандартные значения VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND) и VcppException(ERROR_SEVERITY_ERROR, ERROR_PROC_NOT_FOUND). Исключение содержит указатель на структуру DelayLoadInfo в значении типа LPDWORD, которое может быть считано с помощью функции GetExceptionInformation в структуре EXCEPTION_RECORD в поле ExceptionInformation[0].
Помимо этого, если в поле grAttrs установлены неправильные биты, то возникает исключение ERROR_INVALID_PARAMETER. Это исключение во всех случаях является неустранимым.
Дополнительные сведения см. в разделе Определения структур и констант.