SccInitialize 函式
此函式會初始化原始檔控制外掛程式,並提供集成開發環境 (IDE) 的功能和限制。
語法
SCCRTN SccInitialize (
LPVOID* ppvContext,
HWND hWnd,
LPCSTR lpCallerName,
LPSTR lpSccName,
LPLONG lpSccCaps,
LPSTR lpAuxPathLabel,
LPLONG pnCheckoutCommentLen,
LPLONG pnCommentLen
);
參數
ppvContext
[in]原始檔控制外掛程式可以在這裡放置其內容結構的指標。
hWnd
[in]原始檔控制外掛程式可作為其提供之任何對話框之父代的 IDE 視窗句柄。
lpCallerName
[in]呼叫原始檔控制外掛程式的程式名稱。
lpSccName
[in, out]原始檔控制外掛程式放置其本身名稱的緩衝區(不要超過 SCC_NAME_LEN
)。
lpSccCaps
[out]傳回原始檔控制外掛程式的功能旗標。
lpAuxPathLabel
[in, out]原始檔控制外掛程式放置字串的緩衝區,描述 SccOpenProject 和 SccGetProjPath 所傳回的參數(不要超過 SCC_AUXLABEL_LEN
)。lpAuxProjPath
pnCheckoutCommentLen
[out]傳回結帳批注允許的最大長度。
pnCommentLen
[out]傳回其他批注允許的最大長度。
傳回值
此函式的原始檔控制外掛程式實作應該會傳回下列其中一個值:
值 | Description |
---|---|
SCC_OK | 原始檔控制初始化成功。 |
SCC_E_INITIALIZEFAILED | 系統無法初始化。 |
SCC_E_NOTAUTHORIZED | 不允許使用者執行指定的作業。 |
SCC_E_NONSPECFICERROR | 非特定失敗;原始檔控制系統未初始化。 |
備註
IDE 會在第一次載入原始檔控制外掛程式時呼叫此函式。 它可讓 IDE 將特定資訊,例如呼叫端名稱傳遞至外掛程式。 IDE 也會傳回特定資訊,例如批注的最大允許長度和外掛程式的功能。
指向ppvContext
NULL
指標。 原始檔控制外掛程式可以配置 結構供自己使用,並將該結構的指標儲存在 中 ppvContext
。 IDE 會將此指標傳遞至所有其他 VSSCI API 函式,讓外掛程式具有可用的內容資訊,而不需使用全域記憶體,並支援外掛程式的多個實例。 呼叫 SccUninitialize 時,應該取消配置此結構。
lpCallerName
和 lpSccName
參數可讓 IDE 和原始檔控制外掛程式交換名稱。 這些名稱可能只是用來區分多個實例,或實際上會出現在功能表或對話框中。
lpAuxPathLabel
參數是用來作為批註的字串,用來識別儲存在方案檔中的輔助項目路徑,並傳遞至呼叫 SccOpenProject 中的原始檔控制外掛程式。 Visual Source 保管庫 使用字串 “Source 保管庫 Project:”;其他原始檔控制外掛程式應該避免使用此特定字串。
參數 lpSccCaps
會為原始檔控制外掛程式提供儲存位旗標的位置,以指出外掛程式的功能。 (如需功能位旗標的完整清單,請參閱 功能旗標)。 例如,如果外掛程式計劃將結果寫入呼叫端提供的回呼函式,外掛程式會設定功能位SCC_CAP_TEXTOUT。 這會向 IDE 發出訊號,以建立版本控制結果的視窗。