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


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

применимо к: Windows | Windows Server

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

Все возможные ошибки, возвращаемые API расширяемого ядра хранилища (ESE), определяются типом данных JET_ERR. Список флагов ошибок, определенных для этого API, см. в коды ошибок расширяемого ядра хранилища.

В документации по API ESE все наиболее важные ошибки документируются. Обычно эти ошибки представляют ошибки использования API или очень важные условия ошибки. Помните, что любой из этих API-интерфейсов ESE также может возвращать другие ошибки, которые не документируются для каждого API. В таких случаях вызывающий объект должен просто обрабатывать ошибку, так как она будет выполнять любую другую ошибку, возвращаемую API. Затем определенное значение ошибки можно использовать для диагностических целей, таких как трассировка.

Как правило, значение, которое больше нуля, должно интерпретироваться как предупреждение, значение нуля должно интерпретироваться как успешное, и значение, которое меньше нуля, должно быть интерпретировано как ошибка. Другие шаблоны в этих значениях (например, диапазоны значений) не должны зависеть от приложения.

При возникновении некоторых более серьезных ошибок ESE создается запись журнала событий, содержащая сведения об ошибках. Уровень ведения журнала можно контролировать с помощью параметров журнала событий.

Для некоторых приложений требуется возможность возврата JET_ERRкак HRESULTs. В следующем примере 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