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


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