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
輸入 [、 輸出]原始檔控制外掛程式傳回每個檔案的狀態旗標陣列。fOptions
[in]命令旗標 (請參閱 「 PopulateList 旗標 」 一節特定命令使用的位元旗標如需詳細資訊)。
傳回值
原始檔控制外掛程式的實作這個函式被期待傳回下列值之一:
值 |
描述 |
---|---|
SCC_OK |
成功。 |
SCC_E_NONSPECIFICERROR |
非特定的失敗。 |
備註
這個函式會檢查其目前狀態的檔案清單。 它會使用pfnPopulate檔案不符合的準則時告知呼叫端的回呼函式nCommand。 例如,如果命令是SCC_COMMAND_CHECKIN ,並在清單的檔案未簽出,然後回呼用來通知呼叫端。 有時候,原始檔控制外掛程式可能會發現其他命令的一部份,並將它們加入的檔案。 如此,例如,Visual Basic 使用者簽出的.bmp 檔案由其自己的專案,但不會出現在 Visual Basic 專案檔中。 在使用者選擇取得在 IDE 中的命令。 IDE 就會顯示一份所有的檔案,它認為使用者可以取得,但之前顯示一個清單, SccPopulateList會呼叫函式,以確定顯示的清單是最新狀態。
範例
IDE 會建立一份認為某個使用者可以取得的檔案。 它會顯示此清單之前,它會呼叫SccPopulateList運作、 讓原始檔控制外掛程式有機會新增並從清單中刪除檔案。 外掛程式藉由呼叫指定的回呼函式修改清單 (請參閱POPLISTFUNC如需詳細資訊)。
若要呼叫的外掛程式會繼續pfnPopulate函式,其中可加入及刪除檔案,直到該已完成,然後傳回從SccPopulateList函式。 然後,IDE 可以顯示其清單。 lpStatus陣列表示由 IDE 傳入與原始清單中的所有檔案。 在所有的這些檔案另外製作狀態外掛程式的填滿使用的回呼函式。
![]() |
---|
原始檔控制外掛程式永遠可以選擇只是從這個函式,並保留清單,因為它是立即傳回。如果外掛程式會實作這項功能,它可以指出這藉由設定SCC_CAP_POPULATELIST中的第一個呼叫的功能位元旗標SccInitialize 函式。預設情況下,外掛程式應該永遠假設不要對傳入的所有項目是檔案。不過,如果 IDE 設定SCC_PL_DIR中加上旗標fOptions參數,不要對傳入的所有項目都被視為目錄。此外掛程式應該在目錄中加入所隸屬的所有檔案。IDE 永遠不會將傳入檔案和目錄的混合。 |