共用方式為


SccDiff 函式

此函式會顯示目前檔案(在本機磁碟上)與原始檔控制系統中最後存回版本之間的差異(或選擇性只檢查)。

語法

SCCRTN SccDiff(
   LPVOID    pvContext,
   HWND      hWnd,
   LPCSTR    lpFileName,
   LONG      fOptions,
   LPCMDOPTS pvOptions
);

參數

pvContext

[in]原始檔控制外掛程式內容結構。

hWnd

[in]原始檔控制外掛程式可作為其提供之任何對話框之父代的 IDE 視窗句柄。

lpFileName

[in]要求差異的檔名。

fOptions

[in]命令旗標。 如需詳細資料,請參閱備註。

pvOptions

[in]原始檔控制外掛程式特定選項。

傳回值

此函式的原始檔控制外掛程式實作應該會傳回下列其中一個值:

Description
SCC_OK 工作復本和伺服器版本相同。
SCC_I_FILESDIFFERS 工作復本與原始檔控制下的版本不同。
SCC_I_RELOADFILE 必須重載檔案或專案。
SCC_E_FILENOTCONTROLLED 檔案不在原始檔控制之下。
SCC_E_NOTAUTHORIZED 不允許使用者執行這項作業。
SCC_E_ACCESSFAILURE 存取原始檔控制系統時發生問題,可能是因為網路或爭用問題。 建議重試。
SCC_E_NONSPECIFICERROR 非特定失敗;未取得檔案差異。
SCC_E_FILENOTEXIST 找不到本機檔案。

備註

此函式有兩個不同的用途。 根據預設,它會顯示檔案的變更清單。 原始檔控制外掛程式會以它選擇的任何格式開啟自己的視窗,以在磁碟上顯示使用者檔案與原始檔控制下最新版本之間的差異。

或者,IDE 可能只需要判斷檔案是否已變更。 例如,IDE 可能需要判斷簽出檔案是否安全,而不通知使用者。 在此情況下,IDE 會傳入 SCC_DIFF_CONTENTS 旗標。 原始檔控制外掛程式必須針對原始檔控制檔案檢查磁碟上的檔案位元組位元組,並傳回值,指出這兩個檔案是否不同,而不向用戶顯示任何專案。

作為效能優化,原始檔控制外掛程式可能會根據總和檢查碼或時間戳使用替代方法,而不是針對 所 SCC_DIFF_CONTENTS呼叫的位元組位元組比較:這些形式的比較明顯更快,但較不可靠。 並非所有原始檔控制系統都可能支持這些替代比較方法,而且外掛程式可能必須回復為內容比較。 所有原始檔控制外掛程式至少都必須支持內容比較。

注意

快速差異旗標互斥。 傳遞沒有旗標是有效的,但同時傳遞多個旗標無效。 SCC_DIFF_QUICK_DIFF,這是結合所有旗標的遮罩,可用來測試,但不應該以參數的形式傳遞。

fOption 意義
SCC_DIFF_IGNORECASE 不區分大小寫的比較(可用於快速或視覺差異)。
SCC_DIFF_IGNORESPACE 忽略空格符(可用於快速或視覺差異)。
SCC_DIFF_QD_CONTENTS 以無訊息方式比較檔案位元組位元組。
SCC_DIFF_QD_CHECKSUM 支援時,以無訊息方式比較檔案與總和檢查碼。 如果不支援,請回復為內容的比較。
SCC_DIFF_QD_TIME 支援時,以無訊息方式比較檔案及其時間戳。 如果不支援,請回復為內容的比較。

另請參閱