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