SccPopulateList 函式
此函式會更新特定原始檔控制命令的檔案清單,並提供所有指定檔案上的原始檔控制狀態。
語法
SCCRTN SccPopulateList (
LPVOID pvContext,
enum SCCCOMMAND nCommand,
LONG nFiles,
LPCSTR* lpFileNames,
POPLISTFUNC pfnPopulate,
LPVOID pvCallerData,
LPLONG lpStatus,
LONG fOptions
);
參數
pvContext
[in]原始檔控制外掛程式內容結構。
nCommand
[in]將套用至數位中所有檔案的原始 lpFileNames
檔控制命令(如需可能的命令清單,請參閱 命令程序代碼 )。
nFiles
[in]陣列中的 lpFileNames
檔案數目。
lpFileNames
[in]IDE 已知的檔名陣列。
pfnPopulate
[in]呼叫以新增和移除檔案的 IDE 回呼函式(如需詳細資訊,請參閱 POPLISTFUNC )。
pvCallerData
[in]要未變更傳遞至回呼函式的值。
lpStatus
[in, out]原始檔控制外掛程式的數位,可傳回每個檔案的狀態旗標。
fOptions
[in]命令旗標(如需詳細資訊,請參閱特定命令所使用的 Bitflags 的
傳回值
此函式的原始檔控制外掛程式實作應該會傳回下列其中一個值:
值 | Description |
---|---|
SCC_OK | 成功。 |
SCC_E_NONSPECIFICERROR | 非特定失敗。 |
備註
此函式會檢查其目前狀態的檔案清單。 當檔案不符合的nCommand
準則時,它會使用pfnPopulate
回呼函式來通知呼叫端。 例如,如果 命令是 SCC_COMMAND_CHECKIN
,而且清單中沒有取出檔案,則會使用回呼來通知呼叫端。 有時候,原始檔控制外掛程式可能會找到其他可能屬於命令一部分的檔案,並加以新增。 例如,這可讓 Visual Basic 使用者取出其專案所使用的 .bmp 檔案,但不會出現在 Visual Basic 項目檔中。 用戶選擇 IDE 中的 [取得 ] 命令。 IDE 會顯示它認為使用者可以取得的所有檔案清單,但在顯示清單之前,會呼叫 函 SccPopulateList
式,以確定要顯示的清單是最新的。
範例
IDE 會建置其認為用戶可以取得的檔案清單。 在顯示此清單之前,它會呼叫 SccPopulateList
函式,讓原始檔控制外掛程式有機會從清單中新增和刪除檔案。 外掛程式會藉由呼叫指定的回呼函式來修改清單(如需詳細資訊,請參閱 POPLISTFUNC )。
外掛程式會繼續呼叫 pfnPopulate
函式,該函式會新增和刪除檔案,直到完成,然後從 SccPopulateList
函式傳回。 IDE 接著可以顯示其清單。 數位代表 lpStatus
IDE 傳入的原始清單中的所有檔案。 外掛程式除了使用回呼函式之外,也會填入所有這些檔案的狀態。
注意
原始檔控制外掛程式一律可以選擇直接從此函式傳回,讓清單保持原樣。 如果外掛程式實作此函式,則可以在 SccInitialize 的第一次呼叫中設定SCC_CAP_POPULATELIST
功能位旗標來表示此狀況。 根據預設,外掛程式應該一律假設傳入的所有專案都是檔案。 不過,如果 IDE 在參數中fOptions
設定SCC_PL_DIR
旗標,傳入的所有專案都會被視為目錄。 外掛程式應該新增所有屬於目錄的檔案。 IDE 永遠不會傳入檔案和目錄的混合。