使用交易

應用程式寫入器可以使用核心交易管理員 (KTM) ,進行次要原始程式碼變更,以新增交易的檔案和登錄作業。 一般而言,這牽涉到建立交易,並將控制碼傳遞至交易資源所提供的其他函式,例如 交易式 NTFS 和 Transacted Registry。

KTM 提供讓應用程式參與交易的機制,以及撰寫您自己的交易資源管理員。 有一個函式可讓您建立、管理及處理四種核心物件的類別:交易、交易管理員、資源管理員和登記。 如果您只是使用交易,則只需要使用交易對象並使用下列函式:

絕對不要假設交易為使用中。 交易可能會因為許多原因而回復,而且隨時都會回復。

Windows會將控制碼型介面公開給系統資源。 若要使用作業系統物件,應用程式會先要求物件的控制碼,然後在後續的函式呼叫中使用這個控制碼來存取或修改物件。 控制碼通常會在不同的模式中開啟;指定的模式會影響後續函式呼叫的語意。 例如,呼叫 CreateFile 所開啟且 dwDesiredAccess 旗標設定為 GENERIC_READ 的檔案控制碼不能用於修改檔案的呼叫中。

您可以與分散式交易協調器使用者模式資源協調,例如SQL或 MSMQ,以及使用 KTM 的核心模式資源進行協調。 首先,建立 DTC 交易或 System.Transactions 物件,然後呼叫 IKernelTransaction 物件,您可以從中取得 KTM 控制碼。 IKernelTransaction物件會建立從屬 DTC 交易的 KTM 交易。 使用此控制碼,您可以建立交易的物件,但會使用 DTC 或 System.Transactions發出交易的結果訊號。