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