次の方法で共有


JetGetDatabaseInfo 関数

適用対象: Windows |Windows Server

JetGetDatabaseInfo 関数

JetGetDatabaseInfo 関数は、データベースに関するさまざまな種類の情報を取得します。 この API は、データベースが接続されている間、またはオンライン ( JetGetDatabaseInfo を使用) 中、またはデータベースエンジンまたはデータベース エンジンがオフラインの間 ( JetGetDatabaseFileInfo を使用) に呼び出すことができます。

    JET_ERR JET_API JetGetDatabaseInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

パラメーター

sesid

この呼び出しに使用するセッション。

dbid

情報を取得するデータベースの JET_DBID

pvResult

指定した情報を受け取るバッファーへのポインター。 バッファーのサイズ (バイト単位) は cbMax で渡されます。

失敗した場合、 pvResult の内容は未定義です。

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

cbMax

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

InfoLevel

InfoLevel は、指定されたデータベースに関して取得する必要がある情報の種類を指定します。 pvResult の解釈方法に影響します。 一部の InfoLevel は、API のオフライン (JetGetDatabaseFileInfo) またはオンライン (JetGetDatabaseInfo) バージョンでのみ使用できます。

指定された pvResult バッファーが小さすぎる場合は、 InfoLevel に応じて、JET_errInvalidBufferSizeまたはJET_errBufferTooSmallが返されます。

説明

JET_DbInfoCollate

まだサポートされておらず、既定値を返します。 使用しないでください。

JET_DbInfoConnect

これらの InfoLevel は 非推奨であり、現在サポートされていません。 使用しないでください。

JET_DbInfoCountry

まだサポートされておらず、既定値を返します。 使用しないでください。

JET_DbInfoCp

まだサポートされておらず、既定値を返します。 使用しないでください。

JET_DbInfoFilename

pvResult は文字列バッファー (char *) として解釈されます。 MAX_PATH バッファーは推奨されますが、必須ではありません。 バッファーの長さが十分でない場合は、JET_errBufferTooSmallが返されます。 文字列には、この DBID のデータベースのパスが設定されます。

JET_DbInfoFilesize

pvResult は DWORD (4 バイト) として解釈されます。 データベースのサイズをページ単位で返します。

JET_DbInfoIsam

これらの InfoLevel は 非推奨であり、現在サポートされていません。 使用しないでください。

JET_DbInfoLCID

(Windows XP 以降)この InfoLevel は、最初は JET_DbInfoLangid (Windows 2000) として指定されていました。

pvResult は long として解釈されます。 これにより、このデータベースに関連付けるロケール識別子 (LCID) が返されます。

JET_DbInfoMisc

pvResult、JET_DBINFOMISCとして解釈されます。 JET_DBINFOMISC構造体には、指定されたデータベースに関連する情報が設定されます。

JET_DbInfoOptions

pvResult、JET_GRBIT (DWORD) として解釈されます。 これにより、データベースが排他モードで開かれているかどうかを返します。 データベースが排他モードの場合JET_bitDbExclusive指定された JET_GRBIT に設定されます。それ以外の場合は 0 が設定されます。 JetAttachDatabase と JetOpenDatabase の他のデータベース grbit オプションは返されないこと注意してください。

JET_DbInfoPageSize

Windows XP 以降でのみ使用できます。 pvResult は、符号なし long として解釈されます。 これにより、データベースのページ サイズがバイト単位で返されます。

JET_DbInfoSpaceAvailable

pvResult は DWORD として解釈されます。 これにより、データベースの使用可能な領域がページ単位で返されます。

JET_DbInfoSpaceOwned

pvResult は DWORD として解釈されます。 これにより、データベースの所有領域がページ単位で返されます。

JET_DbInfoTransactions

pvResult は long として解釈されます。 これにより、トランザクションを入れ子にできる最大レベルを超える 1 つが返されます。 JetBeginTransaction が呼び出された場合 (つまり、コミットまたはロールバックを行わずに同じセッションで)、最後の呼び出しJET_errTransTooDeepで JetBeginTransaction から返されます。 Windows 2000、Windows XP、Windows Server 2003 の値は 7 であることに注意してください。

JET_DbInfoVersion

pvResult は long として解釈されます。 これにより、データベース エンジンのネイティブ メジャー バージョンが返されます。 この値は、Windows 2000、Windows XP、および Windows Server 2003 で0x620されます。

戻り値

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

リターン コード

説明

JET_errSuccess

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

JET_errBufferTooSmall

cbMax で指定されたバッファーのサイズが小さすぎる (または正しくない) ため、目的の情報が保持されませんでした。

JET_errFeatureNotAvailable

要求された InfoLevel がJET_DbInfoIsamされました。 これはサポートされていません。

JET_errInvalidBufferSize

cbMax で指定されたバッファーのサイズが小さすぎる (または正しくない) ため、目的の情報が保持されませんでした。

JET_errInvalidParameter

指定されたパラメーターの 1 つに、予期しない値が含まれていたか、別のパラメーターの値と組み合わせると意味のない値が含まれていました。 このエラーは、指定されたJET_DBIDが有効な (アタッチされている) データベースでない場合に、JetGetDatabaseInfo によって返されます。 このエラーは、要求された InfoLevel がそのバージョンの関数でサポートされていない場合、JetGetDatabaseFileInfoJetGetDatabaseInfo によって返されます。

成功すると、要求されたデータが出力バッファーに返されます。

失敗した場合、出力バッファーは未定義の状態になります。

必要条件

要件

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

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

参照

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo