適用対象: Windows |Windows Server
JetGetObjectInfo 関数
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はJET_ObjInfoと同じですが、レコード数とページ数を報告するフィールドが 0 に設定されている点が異なります。 |
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 が必要です。 |
ヘッダー |
Esent.h で宣言されています。 |
図書館 |
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