Функция JetGetTableInfo
Применимо к: Windows | Windows Server
Функция JetGetTableInfo
Функция JetGetTableInfo извлекает различные сведения о таблице в базе данных.
JET_ERR JET_API JetGetTableInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Параметры
sesid
Контекст сеанса базы данных, используемый для вызова API.
tableid
Таблица, к которому применяются сведения.
pvResult
Указатель на буфер, который будет получать сведения. Тип буфера зависит от InfoLevel. За правильное выравнивание буфера отвечает вызывающий объект.
cbMax
Размер (в байтах) буфера, переданного в pvResult.
InfoLevel
Тип сведений, которые будут получены для таблицы, указанной tableid. Формат данных, хранящихся в pvResult , зависит от InfoLevel.
Для этого параметра можно задать следующие параметры:
Значение |
Значение |
---|---|
JET_TblInfo |
PvResult интерпретируется как JET_OBJECTINFO структура. Если метод завершается успешно, структура JET_OBJECTINFO заполняется соответствующими данными. В случае сбоя содержимое не определено. |
JET_TblInfoDbid |
PvResult рассматривается как массив из двух JET_DBID объектов. Идентификатор базы данных, владеющей таблицей, хранится в этом массиве дважды. |
JET_TblInfoDumpTable |
JET_TblInfoDumpTable не рекомендуется. API вернет JET_errFeatureNotAvailable. |
JET_TblInfoName |
JET_TblInfoName извлекает имя таблицы и сохраняет его в pvResult. Если буфер слишком мал, поведение не определено. |
JET_TblInfoMostMany |
JET_TblInfoMostMany извлекает имя таблицы и сохраняет его в pvResult. Если буфер слишком мал, поведение не определено. |
JET_TblInfoOLC |
JET_TblInfoOLC не рекомендуется. API вернет JET_errFeatureNotAvailable. |
JET_TblInfoRvt |
JET_TblInfoRvt не рекомендуется. API вернет JET_errQueryNotSupported. |
JET_TblInfoResetOLC |
JET_TblInfoResetOLC не рекомендуется. API вернет JET_errFeatureNotAvailable. |
JET_TblInfoSpaceAlloc |
PvResult интерпретируется как массив из двух ULONG:
|
JET_TblInfoSpaceAvailable |
PvResult интерпретируется как ULONG. ULONG — это сумма количества страниц, доступных в таблице, ее индексов и дерева длинных значений. |
JET_TblInfoSpaceOwned |
PvResult интерпретируется как ULONG. ULONG — это сумма количества страниц, принадлежащих таблице (включая ее индексы, дерево длинных значений и все доступные в ней страницы). |
JET_TblInfoSpaceUsage |
Поведение API зависит от размера буфера, передаваемого в API. Два значения cbMax должны быть не менее ( 2 * sizeof( ULONG ) ).
|
JET_TblInfoTemplateTableName |
pvResult интерпретируется как буфер строки. Буфер должен быть не менее JET_cbNameMost + 1, включая завершающий значение NULL. Если таблица является производной таблицей, буфер будет заполнен именем таблицы, от которой производная таблица унаследовала свой DDL. Если таблица не является производной, буфер будет пустой строкой. |
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errBufferTooSmall |
Буфер был слишком мал. |
JET_errFeatureNotAvailable |
Указан нерекомендуемый InfoLevel . |
JET_errInvalidBufferSize |
Буфер был неправильного размера. |
JET_errInvalidOperation |
Переданная таблица была временной, и запрошенный InfoLevel не может быть получен для временной таблицы. |
JET_errObjectNotFound |
Переданная таблица была временной, и запрошенный InfoLevel не может быть получен для временной таблицы. |
JET_errQueryNotSupported |
InfoLevel не поддерживается. |
JET_errTableInUse |
Таблица используется другой операцией базы данных. |
JET_errTableLocked |
Таблица заблокирована другой операцией базы данных. |
JET_wrnTableInUseBySystem |
Таблица используется системой. Это предупреждение является некритичным. |
Комментарии
Некоторые фрагменты данных недопустимы для временных таблиц (см. Раздел JetOpenTempTable).
Табличная статистика включает количество записей и количество страниц в кластеризованном индексе (то есть индексе, содержавом данные записи). Доступ к статистике индекса осуществляется отдельно по имени с помощью JetGetIndexInfo или JetGetTableIndexInfo.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
Юникод |
Реализовано как JetGetTableInfoW (Юникод) и JetGetTableInfoA (ANSI). |
См. также:
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable