Функция JetGetDatabaseFileInfo

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

Функция JetGetDatabaseFileInfo

Функция JetGetDatabaseFileInfo извлекает различные типы сведений о базе данных. Этот API можно вызывать, когда база данных подключена или подключена к сети (с помощью JetGetDatabaseInfo) или когда база данных или ядро СУБД находится в автономном режиме (с помощью JetGetDatabaseFileInfo).

    JET_ERR JET_API JetGetDatabaseFileInfo(
      __in          const tchar* szDatabaseName,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Параметры

szDatabaseName

Путь к базе данных, из которой извлекаются сведения.

pvResult

Указатель на буфер, который будет получать указанные сведения. Размер буфера в байтах передается в cbMax.

Если эта функция завершается сбоем, содержимое pvResult не определено.

Сведения, хранящиеся в pvResult, зависят от InfoLevel.

cbMax

Размер (в байтах) буфера, передаваемого в pvResult.

InfoLevel

InfoLevel указывает, какой тип сведений следует извлечь о указанной базе данных. Это влияет на интерпретацию pvResult . Некоторые объекты InfoLevel доступны только в автономной версии API (JetGetDatabaseFileInfo) или в сети (JetGetDatabaseInfo).

Если предоставленный буфер pvResult слишком мал, возвращается JET_errInvalidBufferSize или JET_errBufferTooSmall в зависимости от InfoLevel.

Значение

Значение

JET_DbInfoFilesize

pvResult будет интерпретироваться как QWORD (8 байт). Возвращает размер базы данных в байтах.

JET_DbInfoUpgrade

pvResult будет интерпретироваться как JET_DBINFOUPGRADE. Структура JET_DBINFOUPGRADE будет заполнена сведениями, относящимися к указанной базе данных.

JET_DbInfoMisc

pvResult будет интерпретироваться как JET_DBINFOMISC. Структура JET_DBINFOMISC будет заполнена сведениями, относящимися к указанной базе данных.

JET_DbInfoDBInUse

pvResult будет интерпретироваться как BOOL (4 байта). Это позволит определить, есть ли в ядре СУБД открытые или подключенные базы данных.

Windows XP: Это значение появилось в Windows XP.

JET_DbInfoPageSize

pvResult будет интерпретироваться как длинная строка без знака. При этом будет возвращен размер страницы базы данных в байтах.

Windows XP: Это значение появилось в Windows XP.

JET_DbInfoCp

Эти InfoLevels пока не поддерживаются и возвращают значения по умолчанию. Не используйте эти InfoLevels.

JET_DbInfoCountry

Эти InfoLevels пока не поддерживаются и возвращают значения по умолчанию. Не используйте эти InfoLevels.

JET_DbInfoCollate

То же, что и JET_DbInfoCp.

JET_DbInfoIsam

Эти InfoLevels являются устаревшими и в настоящее время не поддерживаются. Не используйте эти InfoLevels.

JET_DbInfoConnect

То же, что и JET_DbInfoIsam.

JET_DbInfoFileType

Windows Vista: Это значение InfoLevel появилось в Windows Vista.

PvResult будет рассматриваться как указатель на DWORD. Возвращает значение перечисления, указывающее, какой тип файла обработчик считает этим. Типы файлов перечислены в следующей таблице. Дополнительные сведения об этих типах файлов и их использовании в подсистеме см. в разделе Расширяемые файлы подсистемы хранилища.

Значение

Значение

JET_filetypeUnknown

Тип файла неизвестен или не является типом файла ESE.

JET_filetypeDatabase

Файл является файлом базы данных.

JET_filetypeLog

Файл является файлом журнала транзакций.

JET_filetypeCheckpoint

Файл является файлом контрольной точки.

JET_filetypeTempDatabase

Файл является временным файлом базы данных.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errFeatureNotAvailable

Запрошенный infoLevel был JET_DbInfoIsam. Такой способ связывания не поддерживается.

JET_errBufferTooSmall

Буфер, заданный в cbMax , слишком мал для нужных сведений.

JET_errInvalidBufferSize

Буфер, заданный в cbMax , не соответствует правильному размеру требуемой информации.

JET_errInvalidParameter

Один из предоставленных параметров содержал непредвиденное значение или сочетание нескольких значений параметров приводило к неожиданному результату. Эта ошибка будет возвращена JetGetDatabaseInfo , если предоставленный идентификатор DBID не является допустимой (подключенной) базой данных. Эта ошибка будет возвращена JetGetDatabaseFileInfo и JetGetDatabaseInfo , если запрошенный InfoLevel не поддерживается этой версией функции.

Если эта функция будет выполнена успешно, запрошенные данные будут возвращены в выходном буфере.

Если эта функция завершается сбоем, выходной буфер будет находиться в неопределенном состоянии.

Требования

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Professional.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

Юникод

Реализовано как JetGetDatabaseFileInfoW (Юникод) и JetGetDatabaseFileInfoA (ANSI).

См. также:

JET_ERR
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseInfo