SccAddFromScc 函式
此函式可讓使用者瀏覽原始檔控制系統中已有的檔案,並接著將這些檔案目前專案。 比方說,這個函式會變為一般的標頭檔目前的專案而不複製檔案。 傳回陣列的檔案, lplpFileNames,包含使用者想要在 IDE 的專案中加入的檔案清單。
SCCRTN SccAddFromScc (
LPVOID pvContext,
HWND hWnd,
LPLONG lpnFiles,
LPCSTR** lplpFileNames
);
參數
pvContext
[in]原始檔控制外掛程式的內容結構。hWnd
[in]原始檔控制外掛程式可用於為父代對話框它所提供的 IDE 視窗控制代碼。lpnFiles
輸入 [、 輸出]在新增的檔案數目的緩衝區。 (這是NULL若所指的記憶體lplpFileNames會被釋放。 請參閱 「 備註 」 如需詳細資訊)。lplpFileNames
輸入 [、 輸出]沒有目錄路徑的所有檔案名稱的指標陣列。 這個陣列配置及釋放原始檔控制外掛程式。 如果lpnFiles = 1 和lplpFileNames不是NULL,陣列中的第一個名稱所指lplpFileNames包含目的資料夾。
傳回值
原始檔控制外掛程式的實作這個函式被期待傳回下列值之一:
值 |
描述 |
---|---|
SCC_OK |
檔案已成功找到而且加入至專案。 |
SCC_I_OPERATIONCANCELED |
操作被取消時不會影響。 |
SCC_I_RELOADFILE |
需要重新載入檔案或專案。 |
備註
IDE 會呼叫這個函式。 如果原始檔控制外掛程式支援指定的本機目的地資料夾,IDE 會傳遞lpnFiles = 1,並傳遞到本機資料夾名稱lplpFileNames。
當呼叫SccAddFromScc函式傳回時,外掛程式已指派值給lpnFiles和lplpFileNames,為所需的檔案名稱陣列配置記憶體 (請注意此配置會取代在指標lplpFileNames)。 原始檔控制外掛程式負責放置到使用者的目錄,或指定的指定資料夾中的所有檔案。 IDE 然後會將檔案加入至 IDE 的專案。
最後,IDE 呼叫這個函式一次傳遞中的NULL的lpnFiles。 此值解譯為特殊的訊號,原始檔控制外掛程式,以便在配置中的檔案名稱陣列的記憶體釋放出來lplpFileNames.
lplpFileNames是char ***指標。 原始檔控制外掛程式會將檔名,藉以傳遞清單的標準方法,此 API 的指標陣列的指標。
注意事項 |
---|
初始版本的 VSSCI api 無法滿足講求可以指出加入之檔案的目標專案。要做到的語意,這一點lplpFIleNames參數已經過加強,以便輸入/輸出參數,而不是輸出參數。如果只指定一個檔案,也就是值所指lpnFiles = 1,則第一個元素的lplpFileNames包含目標資料夾。若要使用這些新的語意,IDE 呼叫SccSetOption函式與nOption參數設為SCC_OPT_SHARESUBPROJ。如果原始檔控制外掛程式不支援語意,則會傳回SCC_E_OPTNOTSUPPORTED。做這樣的停用使用從原始檔控制的新增功能。如果外掛程式支援從原始檔控制的新增功能 (SCC_CAP_ADDFROMSCC),則它必須支援新的語意,並傳回SCC_I_SHARESUBPROJOK。 |