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 の配列として解釈されます。
|
JET_TblInfoSpaceAvailable |
pvResult は ULONG として解釈されます。 ULONG は、テーブル内で使用可能なページ数、そのインデックス、および長い値ツリーの合計です。 |
JET_TblInfoSpaceOwned |
pvResult は ULONG として解釈されます。 ULONG は、テーブルが所有するページの数の合計です (インデックス、長い値ツリー、およびその中で使用可能なページを含む)。 |
JET_TblInfoSpaceUsage |
API の動作は、API に渡されるバッファーの大きさによって異なります。 2 つの cbMax 値は、少なくとも ( 2 * sizeof( 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