JetGetObjectInfo Function

適用対象: Windows |Windows Server

JetGetObjectInfo Function

JetGetObjectInfo 関数は、データベース オブジェクトに関する情報を取得します。 現時点では、テーブルのみがサポートされています。 JetGetTableInfo を使用すると、 JetGetObjectInfo よりも多くの情報を取得できます。

    JET_ERR JET_API JetGetObjectInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_OBJTYP objtyp,
      __in_opt      const tchar* szContainerName,
      __in_opt      const tchar* szObjectName,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

パラメーター

sesid

使用するデータベース セッション コンテキスト。

dbid

情報の取得元のデータベース。

objtyp

取得する情報を含む オブジェクト。 現時点では、JET_objtypNilとJET_objtypTableのみがサポートされており、どちらも同じように動作します。 テーブルのみが取得されます。

szContainerName

このパラメーターは将来使用するために予約されており、 NULL を渡します。 情報を取得するオブジェクトの種類の名前。

szObjectName

取得する情報を含むオブジェクトの名前。 InfoLevel で JET_ObjInfoList または JET_ObjInfoListNoStats オプションを使用してすべてのオブジェクトの一覧を取得する場合、この値は NULL または空の文字列にする必要があります。

現在、テーブル名のみがサポートされています。

pvResult

指定した情報を受け取るバッファーへのポインター。

バッファーのサイズ (バイト単位) は cbMax で渡されます。 失敗した場合、 pvResult の内容は未定義です。

pvResult に格納される情報は、InfoLevel によって異なります。

cbMax

pvResult で渡されるバッファーのサイズ (バイト単位)。

InfoLevel

指定したオブジェクトに対して取得する情報の種類を指定します。 pvResult の解釈方法に影響します。

このパラメーターには、次のオプションを設定できます。

説明

JET_ObjInfo

pvResult、JET_OBJECTINFO 構造体として解釈されます。

JET_OBJECTINFO構造体には、szObjectName で名前が付けられたオブジェクトに関連する情報が設定されます。

呼び出し元がオブジェクトのレコードとページの数を知りたくない場合は、統計が含まれていないため、JET_ObjInfoNoStats情報レベルを使用することを検討してください。

JET_ObjInfoList

pvResult、JET_OBJECTLIST 構造体として解釈されます。 すべてのオブジェクトに関する情報が取得されます。 一時テーブルが作成され、一時テーブルを走査するために必要な情報は 、JET_OBJECTLIST 構造体で説明されます。 詳細については、「 JET_OBJECTLIST」を参照してください。 呼び出し元がオブジェクトのレコードとページの数を知りたくない場合は、JET_ObjInfoListNoStatsの使用を検討してください。この方が高速な場合があります。

JET_ObjInfoListACM

非推奨であり、現在サポートされていません。

JET_ObjInfoListNoStats

pvResult、JET_OBJECTLIST 構造体として解釈されます。 すべてのオブジェクトに関する情報が取得されます。 一時テーブルが作成され、一時テーブルを走査するために必要な情報は 、JET_OBJECTLIST 構造体で説明されます。 詳細については、「 JET_OBJECTLIST」を参照してください。 JET_ObjInfoListNoStatsはJET_ObjInfoListと同じですが、レコードの数 (columnidcRecord) とページ (columnidcPage) を報告する列は更新されません。

JET_ObjInfoMax

pvResult、JET_OBJECTINFOとして解釈されます。 オブジェクトの最大サイズはページ単位です。 現在、テーブルのみが返されます。

JET_ObjInfoNoStats

pvResult、JET_OBJECTINFOとして解釈されます。 szObjectName で指定されたオブジェクトに関する情報のみが取得されます。

JET_OBJECTINFO構造体には、szObjectName で名前が付けられたオブジェクトに関連する情報が設定されます。

JET_ObjInfoNoStatsは、レコード数とページ数を報告するフィールドが 0 に設定されている点を除き、JET_ObjInfoと同じです。

JET_ObjInfoRulesLoaded

非推奨であり、現在サポートされていません。

JET_ObjInfoSysTabCursor

非推奨であり、現在サポートされていません。

JET_ObjInfoSysTabReadOnly

非推奨であり、現在サポートされていません。

戻り値

この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラーエラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errBufferTooSmall

cbMax で指定されたバッファーのサイズが小さすぎて、目的の情報を保持できませんでした。

JET_errInvalidName

szObjectName または szContainerName に無効な名前が指定されました。

JET_errInvalidParameter

無効なパラメーターが指定されました。 不適切なレベルが InfoLevel に渡された可能性があります。

解説

JetGetObjectInfo によって一時テーブル (JET_ObjInfoListやJET_ObjInfoNoStatsなど) が正常に作成された場合、呼び出し元は JetCloseTable を使用して一時テーブルを閉じる役割を担います。

現在、JetGetObjectInfo ではテーブルに関する情報の取得のみがサポートされています。

要件

要件

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

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

参照

JET_ERR
JET_GRBIT
JET_OBJTYP
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetCloseTable
JetGetTableInfo