共用方式為


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,原始檔控制專案時,並建立到那個時候。

請參閱

參考

SccOpenProject 函式

概念

原始檔控制外掛程式應用程式開發介面函式