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 永遠不會傳入檔案和目錄的混合。

另請參閱