Функция 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_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). |