共用方式為


JetGetObjectInfo 函式

適用于: 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 (columnidcPage) 記錄數目的資料行。

JET_ObjInfoMax

pvResult 會解譯為 JET_OBJECTINFO。 物件的大小上限是分頁。 目前只會傳回資料表。

JET_ObjInfoNoStats

pvResult 會解譯為 JET_OBJECTINFO。 只會擷取 szObjectName 中所指定物件的相關資訊。

JET_OBJECTINFO結構會填入與szObjectName中所命名物件相關的資訊。

JET_ObjInfoNoStats與JET_ObjInfo相同,不同之處在于報告記錄和頁面數目的欄位會設定為零。

JET_ObjInfoRulesLoaded

已被取代且目前不支援。

JET_ObjInfoSysTabCursor

已被取代且目前不支援。

JET_ObjInfoSysTabReadOnly

已被取代且目前不支援。

傳回值

此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤錯誤處理參數

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errBufferTooSmall

cbMax中提供的緩衝區大小太小,無法保存所需的資訊。

JET_errInvalidName

szObjectNameszContainerName中指定了不正確名稱。

JET_errInvalidParameter

已指定不正確的參數。 可能會將不正確的層級傳入 InfoLevel

備註

如果 JetGetObjectInfo 成功建立臨時表 (例如,JET_ObjInfoList或JET_ObjInfoNoStats) ,呼叫端會負責使用 JetCloseTable關閉臨時表。

JetGetObjectInfo 目前僅支援擷取資料表的相關資訊。

規格需求

需求

用戶端

需要 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

實作為 JetGetObjectInfoW (Unicode) 和 JetGetObjectInfoA (ANSI) 。

另請參閱

JET_ERR
JET_GRBIT
JET_OBJTYP
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetCloseTable
JetGetTableInfo