SccAddFromScc 函式

此函式可讓使用者流覽原始檔控制系統中已有的檔案,然後讓這些檔案成為目前專案的一部分。 例如,此函式可以在不複製檔案的情況下,將通用頭檔擷取至目前的專案。 檔案的 lplpFileNames傳回數位含使用者想要新增至 IDE 專案的檔案清單。

語法

SCCRTN SccAddFromScc (
   LPVOID   pvContext,
   HWND     hWnd,
   LPLONG   lpnFiles,
   LPCSTR** lplpFileNames
);

參數

pvContext

[in]原始檔控制外掛程式內容結構。

hWnd

[in]原始檔控制外掛程式可作為其提供之任何對話框之父代的 IDE 視窗句柄。

lpnFiles

[in, out]要加入之檔案數目的緩衝區。 (如果所指向lplpFileNames的記憶體將被釋放,則為 NULL 。如需詳細資訊,請參閱。

lplpFileNames

[in, out]不含目錄路徑之所有檔名的指標陣列。 此數位是由原始檔控制外掛程式所配置和釋放。 如果 lpnFiles = 1 且 lplpFileNames 不是 NULL,則所指向 lplpFileNames 數位中的名字會包含目的地資料夾。

傳回值

此函式的原始檔控制外掛程式實作應該會傳回下列其中一個值:

Description
SCC_OK 檔案已成功找到並新增至專案。
SCC_I_OPERATIONCANCELED 作業已取消,沒有任何作用。
SCC_I_RELOADFILE 必須重載檔案或專案。

備註

IDE 會呼叫此函式。 如果原始檔控制外掛程式支援指定本機目的地資料夾,IDE 會傳遞 lpnFiles = 1,並將本機資料夾名稱傳遞至 lplpFileNames

當函式呼叫 SccAddFromScc 傳回時,外掛程式已將值指派給 lpnFileslplpFileNames,並視需要配置檔名數位的記憶體(請注意,此配置會取代 中的 lplpFileNames指標)。 原始檔控制外掛程式負責將所有檔案放入使用者的目錄或指定的指定資料夾中。 IDE 接著會將檔案新增至 IDE 專案。

最後,IDE 會第二次呼叫此函式,並 NULL 傳入 給 lpnFiles。 這會由原始檔控制外掛程式解譯為特殊訊號,以釋放配置給 中檔名數位的記憶體 lplpFileNames``.

lplpFileNameschar ***是指針。 原始檔控制外掛程式會將指標放在檔名的指標數位列,因此以標準方式傳遞此 API 的清單。

注意

VSSCI API 的初始版本沒有提供方法來指出新增檔案的目標專案。 為了容納這一點,已增強 參數的 lplpFIleNames 語意,使其成為 in/out 參數,而不是輸出參數。 如果只指定單一檔案,也就是由 lpnFiles = 1 指向的值,則 的第 lplpFileNames 一個專案會包含目標資料夾。 若要使用這些新的語意,IDE 會呼叫 函式,SccSetOptionnOption並將 參數設定為 SCC_OPT_SHARESUBPROJ。 如果原始檔控制外掛程式不支援語意,則會傳 SCC_E_OPTNOTSUPPORTED回 。 這樣做會 停用使用 [從原始檔控制 新增] 功能。 如果外掛程式支援 [從原始檔控制 新增] 功能 ,SCC_CAP_ADDFROMSCC則必須支援新的語意並傳回 SCC_I_SHARESUBPROJOK

另請參閱