Función JetGetTableInfo

Se aplica a: Windows | Windows Server

Función JetGetTableInfo

La función JetGetTableInfo recupera varios fragmentos de información sobre una tabla de una base de datos.

    JET_ERR JET_API JetGetTableInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parámetros

sesid

Contexto de sesión de base de datos que se va a usar para la llamada API.

tableid

Tabla a la que se aplica la información.

pvResult

Puntero a un búfer que recibirá la información. El tipo del búfer depende de InfoLevel. Es responsabilidad del autor de la llamada alinear el búfer adecuadamente.

cbMax

Tamaño, en bytes, del búfer que se pasó en pvResult.

InfoLevel

Tipo de información que se recuperará para la tabla especificada por tableid. El formato de los datos almacenados en pvResult depende de InfoLevel.

Se pueden establecer las siguientes opciones para este parámetro:

Valor

Significado

JET_TblInfo

pvResult se interpreta como una estructura JET_OBJECTINFO . Si el método se realiza correctamente, la estructura JET_OBJECTINFO se rellena con los datos adecuados. Si se produce un error, el contenido no está definido.

JET_TblInfoDbid

pvResult se trata como una matriz de dos objetos JET_DBID . El identificador de base de datos de la base de datos que posee la tabla se almacena en esta matriz dos veces.

JET_TblInfoDumpTable

JET_TblInfoDumpTable está en desuso. La API devolverá JET_errFeatureNotAvailable.

JET_TblInfoName

JET_TblInfoName recupera el nombre de la tabla y lo almacena en pvResult. Si el búfer es demasiado pequeño, el comportamiento no está definido.

JET_TblInfoMostMany

JET_TblInfoMostMany recupera el nombre de la tabla y lo almacena en pvResult. Si el búfer es demasiado pequeño, el comportamiento no está definido.

JET_TblInfoOLC

JET_TblInfoOLC está en desuso. La API devolverá JET_errFeatureNotAvailable.

JET_TblInfoRvt

JET_TblInfoRvt está en desuso. La API devolverá JET_errQueryNotSupported.

JET_TblInfoResetOLC

JET_TblInfoResetOLC está en desuso. La API devolverá JET_errFeatureNotAvailable.

JET_TblInfoSpaceAlloc

pvResult se interpreta como una matriz de dos ULONG:

  • El primer ULONG es el número de páginas de la tabla.

  • El segundo ULONG es la densidad de destino de las páginas de la tabla.

JET_TblInfoSpaceAvailable

pvResult se interpreta como un ULONG. ULONG es la suma del número de páginas disponibles en la tabla, sus índices y el árbol de valores largos.

JET_TblInfoSpaceOwned

pvResult se interpreta como un ULONG. ULONG es la suma del número de páginas que pertenecen a la tabla (incluidos sus índices, y el árbol de valores largos y las páginas disponibles en ella).

JET_TblInfoSpaceUsage

El comportamiento de la API depende del tamaño del búfer que se pasa a la API. Dos valores cbMax deben ser al menos ( 2 * sizeof( ULONG ) ).

  • Si cbMax es ( 2 * sizeof( ULONG ) ), pvResult se interpreta como una matriz de dos ULONG:

    • El primer ULONG es el número de extensiones propiedad de la tabla.

    • El segundo ULONG es el número de extensiones disponibles de la tabla.

  • pvResult se interpreta como una matriz de:

    • El primer ULONG es el número de extensiones propiedad de la tabla.

    • El segundo ULONG es el número de extensiones disponibles de la tabla.

JET_TblInfoTemplateTableName

pvResult se interpreta como un búfer de cadena. El búfer debe ser al menos JET_cbNameMost + 1, incluido el valor NULL de terminación. Si la tabla es una tabla derivada, el búfer se rellenará con el nombre de la tabla a partir de la cual la tabla derivada heredó su DDL. Si la tabla no es una tabla derivada, el búfer será una cadena vacía.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errBufferTooSmall

El búfer era demasiado pequeño.

JET_errFeatureNotAvailable

Se especificó un infoLevel en desuso.

JET_errInvalidBufferSize

El búfer no era el tamaño correcto.

JET_errInvalidOperation

La tabla que se pasó en era una tabla temporal y el InfoLevel solicitado no se puede recuperar para una tabla temporal.

JET_errObjectNotFound

La tabla que se pasó en era una tabla temporal y el InfoLevel solicitado no se puede recuperar para una tabla temporal.

JET_errQueryNotSupported

No se admite InfoLevel .

JET_errTableInUse

Otra operación de base de datos usa la tabla.

JET_errTableLocked

Otra operación de base de datos bloquea la tabla.

JET_wrnTableInUseBySystem

El sistema usa la tabla. Esta advertencia no esfatal.

Observaciones

Algunos fragmentos de información no son válidos para las tablas temporales (consulte JetOpenTempTable).

Las estadísticas de la tabla incluyen el número de registros y el número de páginas del índice agrupado (es decir, el índice que contiene los datos de registro). Las estadísticas de índice se acceden por separado por su nombre, mediante JetGetIndexInfo o JetGetTableIndexInfo.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetGetTableInfoW (Unicode) y JetGetTableInfoA (ANSI).

Consulte también

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable