SccSetOption 函式
這個函式會設定控制行為的原始檔控制外掛程式的選項。
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
參數
pvContext
[in]原始檔控制外掛程式的內容結構。nOption
[in]所設定的選項。dwVal
[in]設定選項。
傳回值
原始檔控制外掛程式的實作這個函式被期待傳回下列值之一:
值 |
描述 |
---|---|
SCC_OK |
已成功地設的選項。 |
SCC_I_SHARESUBPROJOK |
傳回的 if nOption的SCC_OPT_SHARESUBPROJ和原始檔控制外掛程式可讓 IDE 設定目的地資料夾。 |
SCC_E_OPNOTSUPPORTED |
選項未設定,並不會依賴。 |
備註
IDE 會呼叫此函式來控制行為的原始檔控制外掛程式。 第一個參數, nOption,表示正在設定值,第二個, dwVal,表示該如何處理該值。 外掛程式會儲存這項資訊相關聯pvContext, IDE 必須呼叫這個函式呼叫之後, SccInitialize 函式 (但不是一定會在每次呼叫之後SccOpenProject 函式)。
摘要選項和它們的值:
nOption |
dwValue |
描述 |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
啟用/停用背景事件佇列。 |
SCC_OPT_USERDATA |
任意值 |
指定要傳遞至使用者值OPTNAMECHANGEPFN回呼函式。 |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
指出是否在 IDE 目前支援取消作業。 |
SCC_OPT_NAMECHANGEPFN |
指標OPTNAMECHANGEPFN回呼函式 |
設定名稱變更回呼函式的指標。 |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
表示 IDE 是否允許簽出的檔案以手動方式 (透過原始檔控制使用者介面中),或是否他們必須簽出只能透過原始檔控制外掛程式。 |
SCC_OPT_SHARESUBPROJ |
N/A |
如果原始檔控制外掛程式可讓 IDE,以指定的本機專案資料夾,將外掛程式傳回SCC_I_SHARESUBPROJOK。 |
SCC_OPT_EVENTQUEUE
如果nOption是SCC_OPT_EVENTQUEUE,IDE 會停用 (或重新啟用時) 的幕後處理。 舉個例說,在編譯時,IDE 可能會指示原始檔控制外掛程式,以便在停止在閒置處理任何保證。 在編譯之後, 它會重新啟用背景處理,以保持最新的隨事件佇列。 對應至SCC_OPT_EVENTQUEUE的值nOption,有兩個可能的值為dwVal,也就是SCC_OPT_EQ_ENABLE和SCC_OPT_EQ_DISABLE。
SCC_OPT_HASCANCELMODE
如果值為nOption是SCC_OPT_HASCANCELMODE,IDE 允洏峈取消長的作業。 設定dwVal到SCC_OPT_HCM_NO (預設值) 表示 IDE 是否有任何的 [取消] 模式。 如果它想要使用者能夠取消原始檔控制外掛程式就必須提供自己的 [取消] 按鈕。 SCC_OPT_HCM_YES表示 IDE 提供取消作業,因此不需要它自己的 [取消] 按鈕,顯示外掛程式 SCC 的能力。 如果 IDE 設定dwVal到SCC_OPT_HCM_YES,它已準備好回應SCC_MSG_STATUS和DOCANCEL寄給lpTextOutProc回呼函式 (請參閱LPTEXTOUTPROC)。 如果 IDE 不會設定這個變數,此外掛程式不應該傳送這兩個訊息。
SCC_OPT_NAMECHANGEPFN
如果設定為 [nOption SCC_OPT_NAMECHANGEPFN,和原始檔控制外掛程式與 IDE 可讓它,此外掛程式可以實際重新命名或移動檔案在原始檔控制作業期間。 dwVal將被設定成 [函式指標型別的OPTNAMECHANGEPFN。 在原始檔控制作業時,外掛程式可以呼叫這個函式,在三個參數中傳遞。 這些是檔案的舊的名稱 (以完整路徑) 時,該檔案中,以及變數的指標,都適用於 IDE 中的資訊的新名稱 (以完整路徑)。 IDE 會以這個最後的指標傳送藉由呼叫SccSetOption與nOption設定為 [ SCC_OPT_USERDATA,與dwVal指向資料。 這個函式的支援是選擇性的。 VSSCI 隨位使用這項功能必須初始化為其函式指標和使用者資料變數NULL,而且它必須呼叫 rename 函式,除非它具有其中一個。 它應該也要做好準備,無法保留它所提供的值,或將它變更回撥新電話號碼為SccSetOption。 這就不會進行的原始檔控制] 命令作業,但它可能會發生指令之間。
SCC_OPT_SCCCHECKOUTONLY
如果設定為 [nOption SCC_OPT_SCCCHECKOUTONLY,IDE 會指示目前開啟的專案中的檔案應該永遠不會被簽出以手動方式透過原始檔控制系統使用者介面。 相反地,這些檔案應該只能透過原始檔控制外掛程式在 IDE 控制簽出。 如果dwValue設定為 [ SCC_OPT_SCO_NO,這表示檔案應該根據外掛程式的正常處理,並且可以透過 UI 原始檔控制簽出。 如果dwValue設定為 [ SCC_OPT_SCO_YES、 然後只外掛程式可以簽出檔案,以及原始檔控制系統 UI 應該不會叫用。 這是的情況下,IDE 可能會有"pseudo-files",只能透過 IDE 中簽出的實際需要的位置。
SCC_OPT_SHARESUBPROJ
如果nOption設定為 [ SCC_OPT_SHARESUBPROJ,IDE 會測試是否從原始檔控制中加入檔案時,原始檔控制外掛程式可以使用指定的本機資料夾。 值為dwVal在此情況下並不重要參數。 如果使用這個外掛程式以指定的檔案加入來自來源的位置的本機目的地資料夾 IDE 控制何時SccAddFromScc 函式呼叫,然後再返回此外掛程式必須SCC_I_SHARESUBPROJOK時SccSetOption函式被呼叫。 然後使用 IDE lplpFileNames參數的SccAddFromScc要傳遞到目的地資料夾中的函式。 外掛程式會使用該目的資料夾以放置從原始檔控制中加入的檔案。 如果外掛程式沒有傳回SCC_I_SHARESUBPROJOK時SCC_OPT_SHARESUBPROJ設定選項時,IDE 會假設外掛程式都能新增只能在目前的本機資料夾中的檔案。