JetGetDatabaseFileInfo 函式
適用于: Windows |Windows Server
JetGetDatabaseFileInfo 函式
JetGetDatabaseFileInfo函式會擷取資料庫的各種資訊類型。 當使用 JetGetDatabaseInfo) 附加或線上 (,或是使用 JetGetDatabaseFileInfo) 離線 (資料庫或資料庫引擎時,即可呼叫此 API。
JET_ERR JET_API JetGetDatabaseFileInfo(
__in const tchar* szDatabaseName,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
參數
szDatabaseName
要從中擷取資訊的資料庫路徑。
pvResult
將接收指定資訊的緩衝區指標。 緩衝區的大小會以位元組為單位傳入 cbMax。
如果此函式失敗,則會未定義 pvResult 的內容。
儲存在 pvResult中的資訊取決於InfoLevel。
cbMax
在 pvResult中傳遞之緩衝區的大小,以位元組為單位。
InfoLevel
InfoLevel 會指定應該擷取有關指定資料庫的資訊類型。 這會影響 pvResult 的解譯方式。 某些 InfoLevel 物件只能在離線 (JetGetDatabaseFileInfo) 或線上 (JetGetDatabaseInfo) 版本的 API 中使用。
如果提供的 pvResult 緩衝區太小,則會根據 InfoLevel傳回JET_errInvalidBufferSize或JET_errBufferTooSmall。
值 |
意義 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JET_DbInfoFilesize |
pvResult 會解譯為 QWORD (8 個位元組) 。 以位元組為單位傳回資料庫的大小。 |
||||||||||||
JET_DbInfoUpgrade |
pvResult 會解譯為 JET_DBINFOUPGRADE。 JET_DBINFOUPGRADE結構會填入與指定資料庫相關的資訊。 |
||||||||||||
JET_DbInfoMisc |
pvResult 會解譯為 JET_DBINFOMISC。 JET_DBINFOMISC結構會填入與指定資料庫相關的資訊。 |
||||||||||||
JET_DbInfoDBInUse |
pvResult 會解譯為 BOOL (4 個位元組) 。 這會傳回資料庫引擎目前是否有任何開啟或附加的資料庫。 Windowsxp: 此值是在 Windows XP 中引進。 |
||||||||||||
JET_DbInfoPageSize |
pvResult 將會解譯為不帶正負號的 long。 這會以位元組為單位傳回資料庫的分頁大小。 Windowsxp: 此值是在 Windows XP 中引進。 |
||||||||||||
JET_DbInfoCp |
尚不支援這些 InfoLevels 並傳回預設值。 請勿使用這些 InfoLevels。 |
||||||||||||
JET_DbInfoCountry |
尚不支援這些 InfoLevels 並傳回預設值。 請勿使用這些 InfoLevels。 |
||||||||||||
JET_DbInfoCollate |
與JET_DbInfoCp相同。 |
||||||||||||
JET_DbInfoIsam |
這些 InfoLevel 已被 取代,目前不支援。 請勿使用這些 InfoLevels。 |
||||||||||||
JET_DbInfoConnect |
與JET_DbInfoIsam相同。 |
||||||||||||
JET_DbInfoFileType |
Windows Vista: 這個 InfoLevel 值是在 Windows Vista 中引進。 pvResult 會被視為 DWORD 的指標。 傳回列舉值,指出引擎將這個視為哪一種檔案。 下表列出檔案類型。 如需這些類型檔案及其對引擎使用方式的詳細資訊,請參閱 可延伸儲存引擎檔案。
|
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errFeatureNotAvailable |
要求的 InfoLevel 已JET_DbInfoIsam。 不支援此連結方式。 |
JET_errBufferTooSmall |
cbMax中提供的緩衝區對於所需的資訊而言太小。 |
JET_errInvalidBufferSize |
cbMax中提供的緩衝區不是所需資訊的正確大小。 |
JET_errInvalidParameter |
提供的其中一個參數包含非預期的值,或數個參數值的組合會產生非預期的結果。 當提供的 DBID 不是附加) 資料庫的有效 (時, JetGetDatabaseInfo 會傳回此錯誤。 當該版本的函式不支援InfoLevel時,JetGetDatabaseFileInfo和JetGetDatabaseInfo會傳回此錯誤。 |
如果此函式成功,則會在輸出緩衝區中傳回要求的資料。
如果此函式失敗,輸出緩衝區將會處於未定義的狀態。
規格需求
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |
Unicode |
實作為 JetGetDatabaseFileInfoW (Unicode) 和 JetGetDatabaseFileInfoA (ANSI) 。 |