共用方式為


JetGetAttachInfoInstance 函式

適用于: Windows |Windows Server

JetGetAttachInfoInstance 函式

JetGetAttachInfoInstance函式會在JetBeginExternalBackupInstance所起始的備份期間使用,以查詢應該成為備份檔案集一部分的資料庫檔案名。 只會考慮目前使用 JetAttachDatabase 附加至實例的資料庫。 這些檔案後續可以使用 JetOpenFileInstance 開啟,並使用 JetReadFileInstance讀取。

Windows XP:JetGetAttachInfoInstance 是在 Windows XP 中引進。

    JET_ERR JET_API JetGetAttachInfoInstance(
      __in          JET_INSTANCE instance,
      __out_opt     tchar* szz,
      __in          unsigned long cbMax,
      __out_opt     unsigned long* pcbActual
    );

參數

instance

要用於這個呼叫的 實例。

若為 Windows 2000,因為只支援一個實例,所以無法使用接受此參數的 API 變體。 在此情況下,會隱含使用此一個全域實例。

針對 Windows XP 和更新版本,只有在引擎處於舊版模式 (Windows 2000 相容性模式時,才能呼叫不接受此參數的 API 變體,) 其中僅支援一個實例。 否則,作業將會失敗,並JET_errRunningInMultiInstanceMode。

szz

接收 Null 終止字串清單的輸出緩衝區,描述應該為備份檔案集一部分的資料庫檔案集。 此緩衝區中傳回的字串清單的格式與登錄所使用的多字串格式相同。 每個以 Null 終止的字串會依序傳回,後面接著最後的 Null 結束字元。

cbMax

輸出緩衝區的位元組大小上限。

azureActual

接收實際字串資料的輸出緩衝區指標。

傳回值

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

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errBackupAbortByServer

作業失敗,因為對 JetStopBackupInstance的呼叫已中止目前的外部備份。 此錯誤只會由 Windows XP 和更新版本傳回。

JET_errClientRequestToStopJetService

因為與會話相關聯的實例上的所有活動因為對 JetStopServiceInstance的呼叫而停止,所以無法完成作業。

JET_errInstanceUnavailable

無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,要求撤銷所有資料的存取權以保護該資料的完整性。 此錯誤只會由 Windows XP 和更新版本傳回。

JET_errInvalidBackupSequence

備份作業失敗,因為它已依序呼叫。 如果目前的備份不是完整備份,JetGetAttachInfoInstance將會傳回此錯誤。

JET_errInvalidParameter

提供的其中一個參數包含非預期的值,或包含與另一個參數值結合時沒有意義的值。 當指定的實例控制碼無效 (Windows XP 和更新版本) 時, JetGetAttachInfoInstance 可能會發生這種情況。

JET_errNoBackup

作業失敗,因為沒有任何外部備份正在進行中。

JET_errNotInitialized

無法完成作業,因為與會話相關聯的實例尚未初始化。

JET_errRestoreInProgress

因為與會話相關聯的實例上正在進行還原作業,所以無法完成作業。

JET_errRunningInMultiInstanceMode

作業失敗,因為嘗試在舊版模式中使用引擎, (Windows 2000 相容性模式) 實際上只有一個實例存在時才支援。

JET_errTermInProgress

因為與會話相關聯的實例正在關閉,所以無法完成作業。

成功時,應該屬於備份檔案集之一組資料庫檔案的要求資訊將會放在提供的輸出緩衝區中。

失敗時,輸出緩衝區的狀態為未定義。 失敗會導致實例的整個備份程式取消。

備註

請務必注意,如果輸出緩衝區太小而無法接受應該屬於備份檔案集一部分的完整檔案清單,此 API 不會傳回錯誤或警告。 應用程式應該一律提供緩衝區來接收此清單的實際大小,並使用該資訊來判斷清單是否已截斷。

規格需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

Unicode

實作為 JetGetAttachInfoInstanceW (Unicode) 和 JetGetAttachInfoInstanceA (ANSI) 。

另請參閱

JET_ERR
JET_INSTANCE
JetAttachDatabase
JetBeginExternalBackupInstance
JetOpenFileInstance
JetReadFileInstance
JetStopBackupInstance
JetStopServiceInstance