Поделиться через


Ошибки расширяемого обработчика хранилища

Применимо к: 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

Сведения о настройке системных параметров для обработки ошибок см. в разделе Параметры обработки ошибок.

См. также:

Параметры обработки ошибок

Коды ошибок подсистемы расширяемого хранилища

JET_ERR