Ошибки расширяемого обработчика хранилища
Применимо к: Windows | Windows Server
Ошибки расширяемого обработчика хранилища
Все возможные ошибки, возвращаемые API расширяемого ядра хранилища (ESE), определяются типом данных JET_ERR . Список флагов ошибок, определенных для этого API, см. в статье Расширяемые коды ошибок подсистемы хранилища.
В документации по API ESE документируются только самые важные ошибки. Эти ошибки обычно представляют ошибки использования API или очень важные условия ошибок. Имейте в виду, что любой из этих API ESE также может возвращать другие ошибки, которые не задокументированы для каждого API. В таких случаях вызывающий объект должен просто обработать ошибку так же, как и любую другую ошибку, возвращаемую API. Затем определенное значение ошибки можно использовать для диагностики, например для трассировки.
Как правило, значение больше нуля следует интерпретировать как предупреждение, значение нуля — как успешное, а значение меньше нуля — как ошибку. Приложение не должно полагаться на другие шаблоны в этих значениях (например, диапазоны значений).
Когда ESE обнаруживает некоторые из более серьезных ошибок, он создает запись журнала событий, содержащую сведения об ошибках. Уровень ведения журнала можно контролировать с помощью параметров журнала событий.
Для некоторых приложений требуется возможность возвращать JET_ERRв виде HRESULT. В следующем примере C++ показано, как выполнить это преобразование:
#ifndef FACILITY_JET_ERR
#define FACILITY_JET_ERR 0xE5E
#endif
#ifndef HRESULT_FROM_JET_ERR
#define HRESULT_FROM_JET_ERR( __err )
(
( __err ) == JET_errSuccess ?
S_OK :
(
( __err ) == JET_errOutOfMemory ?
E_OUTOFMEMORY :
MAKE_HRESULT
(
(
( __err ) < 0 ?
SEVERITY_ERROR :
SEVERITY_SUCCESS
),
FACILITY_JET_ERR,
(
( __err ) < 0 ?
-( __err ) :
( __err )
)
& 0xFFFF
)
)
)
#endif
Сведения о настройке системных параметров для обработки ошибок см. в разделе Параметры обработки ошибок.