Функция JetGetIndexInfo

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

Функция JetGetIndexInfo

Функция JetGetIndexInfo извлекает сведения об индексе.

    JET_ERR JET_API JetGetIndexInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          const tchar* szTableName,
      __in          const tchar* szIndexName,
      __out         void* pvResult,
      __in          unsigned long cbResult,
      __in          unsigned long InfoLevel
    );

Параметры

Sesid

Контекст сеанса базы данных, используемый для вызова API.

dbid

Идентификатор базы данных, используемый для вызова API.

szTableName

Имя таблицы, содержащей индекс, с информацией для получения.

szIndexName

Имя индекса со сведениями для получения.

pvResult

Указатель на буфер, который получит нужную информацию. Буфер должен быть выровнен для хранения требуемого типа. Тип буфера зависит от параметра InfoLevel .

cbResult

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

InfoLevel

Сведения, которые будут храниться в pvResult. Для этого параметра можно использовать следующие параметры.

Ценность Meaning

JET_IdxInfo

pvResult интерпретируется как JET_INDEXLIST структура. При успешном выполнении структура JET_INDEXLIST получает сведения об индексе. При сбое содержимое pvBuffer не определено.

JET_IdxInfoCount

pvResult интерпретируется как ULONG. При успешном выполнении ULONG содержит количество индексов в указанной таблице. szIndexName игнорируется. При сбое содержимое pvBuffer не определено.

JET_IdxInfoIndexId

pvResult интерпретируется как JET_INDEXID. При успешном выполнении структура JET_INDEXID получает сведения об индексе. При сбое содержимое pvBuffer не определено.

JET_IdxInfoLangid

JET_IdxInfoLangid не рекомендуется. Вместо этого используйте макрос JET_IdxInfoLCID и LANGIDFROMLCID .

JET_IdxInfoLCID

pvResult интерпретируется как LCID. При успешном выполнении LCID содержит идентификатор языкового стандарта индекса. При сбое содержимое pvBuffer не определено.

Windows XP: JET_IdxInfoLCID представлен в Windows XP.

JET_IdxInfoList

pvResult интерпретируется как структура JET_INDEXLIST . При успешном выполнении структура JET_INDEXLIST получает сведения об индексе. При сбое содержимое pvBuffer не определено.

JET_IdxInfoOLC

JET_IdxInfoOLC устарело.

JET_IdxInfoResetOLC

JET_IdxInfoResetOLC устарел.

JET_IdxInfoSpaceAlloc

pvResult интерпретируется как ULONG. При успешном выполнении ULONG содержит целевую плотность (ulDensity) индекса. См. JET_INDEXCREATE описание ulDensity. При сбое содержимое pvBuffer не определено.

JET_IdxInfoSysTabCursor

JET_IdxInfoSysTabCursor устарело.

JET_IdxInfoVarSegMac

pvResult интерпретируется как USHORT. При успешном выполнении USHORT содержит значение cbVarSegMac , используемое при создании индекса. Описание cbVarSegMac см. в JET_INDEXCREATE. При сбое содержимое pvBuffer не определено.

JET_IdxInfoKeyMost

pvResult интерпретируется как USHORT. При успешном выполнении USHORT содержит значение cbKeyMost , используемое при создании индекса. Описание cbKeyMost см. в JET_INDEXCREATE. При сбое содержимое pvBuffer не определено.

Windows Vista: JET_IdxInfoKeyMost представлен в Windows Vista.

JET_IdxInfoCreateIndex

pvResult интерпретируется как структура JET_INDEXCREATE . При сбое содержимое pvBuffer не определено.

Windows 7: JET_IdxInfoCreateIndex представлен в Windows 7.

JET_IdxInfoCreateIndex2

pvResult интерпретируется как JET_INDEXCREATE2 структура. При сбое содержимое pvBuffer не определено.

Windows 7: JET_IdxInfoCreateIndex2 представлен в Windows 7.

JET_IdxInfoSpaceOwned pvResult интерпретируется как .ULONG При успешном выполнении содержит ULONG количество страниц, принадлежащих индексу. Дополнительные сведения см. в примечаниях.

Windows 11:JET_IdxInfoSpaceOwned представлен в Windows 11.

JET_IdxInfoSpaceAvail pvResult интерпретируется как .ULONG При успешном выполнении содержится ULONG количество страниц, доступных в индексе. Дополнительные сведения см. в примечаниях.

Windows 11:JET_IdxInfoSpaceAvail представлен в Windows 11.

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

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

Код возврата

Description

JET_errSuccess

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

JET_errIndexNotFound

Указанный индекс не найден в указанной таблице.

JET_wrnBufferTruncated

Буфер, переданный как pvResult , был слишком мал. Содержимое буфера не определено.

Замечания

JetGetIndexInfo и JetGetTableIndexInfo извлекают идентичные сведения об индексе. Разница заключается в том, как указана таблица. JetGetIndexInfo ожидает базу данных (dbid) и имя таблицы (szTableName), а JetGetTableIndexInfo ожидает идентификатор таблицы (tableid).

Пространство, потребляемое индексом, определяется $Used + Доступно = Owned$. Таким образом, чтобы получить количество страниц, используемых, используйте формулу $Owned — Доступность = Использованный$ (извлекаемый с JET_IdxInfoSpaceOwned и JET_IdxInfoSpaceAvail).

Требования

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

Client

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

Сервер

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

Заголовка

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

Библиотека

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

DLL

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

Юникод

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

См. также

JET_COLUMNID JET_ERR JET_GRBIT JET_INDEXCREATE JET_INDEXCREATE JET_INDEXCREATE2 JET_INDEXID JET_INDEXLIST JET_SESID JET_TABLEID JetGetTableIndexInfo