SccGetProjPath 函式
這個函式會提示使用者輸入專案的路徑,也就是只對原始檔控制外掛程式的字串。 當使用者時,會呼叫其項目:
建立新的專案
將現有專案加入至版本控制
正在尋找現有的版本控制專案
SCCRTN SccGetProjPath (
LPVOID pvContext,
HWND hWnd,
LPSTR lpUser,
LPSTR lpProjName,
LPSTR lpLocalPath,
LPSTR lpAuxProjPath,
BOOL bAllowChangePath,
LPBOOL pbNew
);
參數
pvContext
[in]原始檔控制外掛程式的內容結構。hWnd
[in]原始檔控制外掛程式可用於為父代對話框它所提供的 IDE 視窗控制代碼。lpUser
輸入 [、 輸出]使用者名稱 (請不要超過 SCC_USER_SIZE,其中包含 NULL 結束字元)lpProjName
輸入 [、 輸出]IDE 的專案、 專案工作區中或 makefile (請不要超過 SCC_PRJPATH_SIZE,其中包含 NULL 結束字元) 的名稱。lpLocalPath
輸入 [、 輸出]專案的工作路徑。 如果bAllowChangePath是TRUE,原始檔控制外掛程式可修改此字串 (請不要超過 _MAX_PATH,其中包含 null 結束字元)。lpAuxProjPath
輸入 [、 輸出]傳回的專案的路徑 (請不要超過 SCC_PRJPATH_SIZE,其中包含 NULL 結束字元) 的緩衝區。bAllowChangePath
[in]如果這是TRUE,可以提示您輸入的原始檔控制外掛程式,並將其修改lpLocalPath的字串。pbNew
輸入 [、 輸出]傳入的值表示是否要建立新的專案。 傳回值會指出成功建立專案:連入
解譯
TRUE
使用者可能會建立新的專案。
FALSE
使用者無法建立新的專案。
連出
解譯
TRUE
建立新的專案。
FALSE
選取現有的專案。
傳回值
原始檔控制外掛程式的實作這個函式被期待傳回下列值之一:
值 |
描述 |
---|---|
SCC_OK |
專案已成功建立或擷取。 |
SCC_I_OPERATIONCANCELED |
作業取消。 |
SCC_E_ACCESSFAILURE |
無法存取原始檔控制系統,可能因為到網路或爭用問題。 |
SCC_E_CONNECTIONFAILURE |
發生問題,嘗試連接到原始檔控制系統。 |
SCC_E_NONSPECIFICERROR |
發生未指定的錯誤。 |
備註
這個函式的目的是取得參數 ide lpProjName和lpAuxProjPath。 原始檔控制外掛程式就會提示使用者輸入這項資訊之後,它便會將這些兩個字串傳遞至 IDE。 IDE 保存其方案檔中的這些字串,並將它們以傳送SccOpenProject 函式在使用者每次開啟此專案。 這些字串啟用外掛程式,以追蹤與專案相關的資訊。
第一次呼叫此函式時, lpAuxProjPath設定為空字串。 lProjName也可能是空的或者它可能包含 IDE 的專案名稱,原始檔控制外掛程式可能使用或加以忽略。 此函式成功傳回時,外掛程式會傳回兩個相對應的字串。 IDE 就不會假設這些字串,將不會用到,並將不會允許使用者修改它們。 如果使用者想要變更的設定,會呼叫 IDE SccGetProjPath同樣地,在相同的值傳遞獲惡先前的時間。 這可讓這些兩個字串外掛程式完整控制權。
對於lpUser、 IDE 時,可以傳遞使用者名稱,或是可能只是傳遞指標設為空字串。 如果沒有使用者名稱,則原始檔控制外掛程式應該使用它做為預設值。 不過,如果傳遞沒有名稱,或具有指定名稱的登入失敗,外掛程式應該提示使用者輸入登入名稱和傳遞回名稱lpUser一旦收到有效的登入。 因為外掛程式可能會變更這個字串,IDE 會自動配置大小的緩衝區 (SCC_USER_LEN+ 1)。
注意事項 |
---|
IDE 會執行第一個動作可能會呼叫其中一個SccOpenProject函式或SccGetProjPath函式。因此,這兩者具有相同的lpUser參數,可讓原始檔控制外掛程式,以便在記錄中的使用者,不論是哪一次。即使從函式傳回表示失敗,此外掛程式必須填寫此字串,以有效的登入名稱。 |
lpLocalPath是,使用者會保留專案的目錄。 它可能是空字串。 如果沒有目前的定義 (如的情況下嘗試下載的專案從原始檔控制系統的使用者) 的目錄,而且bAllowChangePath是TRUE,原始檔控制外掛程式可提示使用者輸入,或使用其他方法放置到自己字串lpLocalPath。 如果bAllowChangePath是FALSE,此外掛程式不應該變更字串,因為使用者已使用指定的目錄中。
如果使用者建立新專案放入原始檔控制時,原始檔控制外掛程式不實際可能產生它的原始檔控制系統中時SccGetProjPath呼叫。 相反地,它會傳遞回字串,以及使用非零值為pbNew,表示要在原始檔控制系統中建立專案。
例如,如果使用者在新的專案 Visual Studio 中的精靈會將他 / 她的專案加入原始檔控制、 Visual Studio 會呼叫這個函式,以及此外掛程式會決定是否要建立新的專案,在 [原始檔控制系統,以包含 Visual Studio 的專案。 如果使用者按一下取消永遠不會建立專案之前完成精靈]。 如果使用者按一下 [ 確定,Visual Studio 會呼叫SccOpenProject、 passing 中SCC_OPT_CREATEIFNEW,原始檔控制專案時,並建立到那個時候。