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


Функция JetGetObjectInfo

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

Функция JetGetObjectInfo

Функция JetGetObjectInfo извлекает сведения о объектах базы данных. В настоящее время поддерживаются только таблицы. JetGetTableInfo можно использовать для получения дополнительных сведений, чем JetGetObjectInfo.

    JET_ERR JET_API JetGetObjectInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_OBJTYP objtyp,
      __in_opt      const tchar* szContainerName,
      __in_opt      const tchar* szObjectName,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Параметры

Sesid

Используемый контекст сеанса базы данных.

dbid

База данных, из которой извлекается информация.

objtyp

Объекты, содержащие сведения, которые необходимо извлечь. В настоящее время поддерживаются только JET_objtypNil и JET_objtypTable, оба из которых ведут себя одинаково. Извлекаются только таблицы.

szContainerName

Этот параметр зарезервирован для дальнейшего использования и передает значение NULL. Имя типов объектов, о которых требуется получить информацию.

szObjectName

Имя объекта, содержащего сведения для получения. Если InfoLevel использует параметры JET_ObjInfoList или JET_ObjInfoListNoStats для получения списка всех объектов, это значение должно иметь значение NULL или пустую строку.

В настоящее время поддерживаются только имена таблиц.

pvResult

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

Размер буфера в байтах передается в cbMax. При сбое содержимое pvResult не определено.

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

cbMax

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

InfoLevel

Указывает тип информации, извлекаемой для указанного объекта. Это влияет на интерпретацию pvResult .

Для этого параметра доступны следующие параметры.

Ценность

Значение

JET_ObjInfo

pvResult интерпретируется как JET_OBJECTINFO структура.

Структура JET_OBJECTINFO заполняется сведениями, относящимися к объекту, именованном в szObjectName.

Если вызывающий объект не хочет знать количество записей и страниц для объекта, рассмотрите возможность использования JET_ObjInfoNoStats уровня информации, что может быть быстрее, так как статистика не включена.

JET_ObjInfoList

pvResult интерпретируется как JET_OBJECTLIST структура. Извлекается информация обо всех объектах. Будет создана временная таблица, а сведения, необходимые для обхода временной таблицы, описаны в структуре JET_OBJECTLIST . Дополнительные сведения см. в JET_OBJECTLIST. Если вызывающий объект не хочет знать количество записей и страниц для объекта, рассмотрите возможность использования JET_ObjInfoListNoStats, что может быть быстрее.

JET_ObjInfoListACM

Не рекомендуется и в настоящее время не поддерживается.

JET_ObjInfoListNoStats

pvResult интерпретируется как JET_OBJECTLIST структура. Извлекается информация обо всех объектах. Будет создана временная таблица, а сведения, необходимые для обхода временной таблицы, описаны в структуре JET_OBJECTLIST . Дополнительные сведения см. в JET_OBJECTLIST. JET_ObjInfoListNoStats идентичен JET_ObjInfoList, за исключением того, что столбцы, сообщающие о количестве записей (columnidcRecord) и pages (columnidcPage), не будут обновляться.

JET_ObjInfoMax

pvResult интерпретируется как JET_OBJECTINFO. Максимальный размер объекта находится на страницах. В настоящее время возвращаются только таблицы.

JET_ObjInfoNoStats

pvResult интерпретируется как JET_OBJECTINFO. Будут получены сведения только об объекте, заданном в szObjectName .

Структура JET_OBJECTINFO будет заполнена сведениями, относящимися к объекту, который называется в szObjectName.

JET_ObjInfoNoStats идентичен JET_ObjInfo, за исключением того, что поля, сообщающие о количестве записей и страниц, равны нулю.

JET_ObjInfoRulesLoaded

Не рекомендуется и в настоящее время не поддерживается.

JET_ObjInfoSysTabCursor

Не рекомендуется и в настоящее время не поддерживается.

JET_ObjInfoSysTabReadOnly

Не рекомендуется и в настоящее время не поддерживается.

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

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

Код возврата

Описание

JET_errSuccess

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

JET_errBufferTooSmall

Размер буфера, заданного в cbMax , слишком мал для хранения требуемой информации.

JET_errInvalidName

Недопустимое имя было указано в szObjectName или szContainerName.

JET_errInvalidParameter

Был задан недопустимый параметр. Возможно, что плохой уровень был передан в InfoLevel.

Замечания

Если JetGetObjectInfo успешно создает временную таблицу (например, JET_ObjInfoList или JET_ObjInfoNoStats), вызывающий объект отвечает за закрытие временной таблицы с помощью JetCloseTable.

JetGetObjectInfo в настоящее время поддерживает только получение сведений о таблицах.

Требования

Требование Ценность

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Профессиональный.

Сервер

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

Заголовок

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

Библиотека

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

DLL

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

Юникод

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

См. также

JET_ERR
JET_GRBIT
JET_OBJTYP
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetCloseTable
JetGetTableInfo