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 は、2 つの JET_DBID オブジェクトの配列として扱われます。 テーブルを所有するデータベースのデータベース識別子は、この配列に 2 回格納されます。

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 は、次の 2 つの ULONG の配列として解釈されます。

  • 最初の ULONG は、テーブル内のページ数です。

  • 2 番目の ULONG は、テーブルのページのターゲット密度です。

JET_TblInfoSpaceAvailable

pvResultULONG として解釈されます。 ULONG は、テーブル内で使用可能なページ数、そのインデックス、および長い値ツリーの合計です。

JET_TblInfoSpaceOwned

pvResultULONG として解釈されます。 ULONG は、テーブルが所有するページの数の合計です (インデックス、長い値ツリー、およびその中で使用可能なページを含む)。

JET_TblInfoSpaceUsage

API の動作は、API に渡されるバッファーの大きさによって異なります。 2 つの cbMax 値は、少なくとも ( 2 * sizeof( ULONG ) ) である必要があります。

  • cbMax が ( 2 * sizeof( ULONG ) ) の場合、pvResult は 2 つの ULONG の配列として解釈されます。

    • 最初の ULONG は、テーブルの所有エクステントの数です。

    • 2 番目の ULONG は、テーブルの使用可能なエクステントの数です。

  • pvResult は、次の配列として解釈されます。

    • 最初の ULONG は、テーブルの所有エクステントの数です。

    • 2 番目の ULONG は、テーブルの使用可能なエクステントの数です。

JET_TblInfoTemplateTableName

pvResult は文字列バッファーとして解釈されます。 バッファーは、終端 の NULL を含め、少なくともJET_cbNameMost + 1 である必要があります。 テーブルが派生テーブルの場合、バッファーには、派生テーブルが 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 を使用して、名前で個別にアクセスします。

要件

要件

Client

Windows Vista、Windows XP、または Windows 2000 Professional が必要です。

[サーバー]

Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

Unicode

JetGetTableInfoW (Unicode) および JetGetTableInfoA (ANSI) として実装されます。

参照

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable