このコールバックは、IDE によって SccPopulateList に提供され、ソース管理プラグインでファイルまたはディレクトリのリストを更新するために使用されます (SccPopulateList 関数にも提供されています)。
ユーザーが IDE で Get コマンドを選択すると、IDE には、ユーザーが取得できるすべてのファイルのリスト ボックスが表示されます。 残念ながら、IDE では、ユーザーが取得する可能性のあるすべてのファイルの正確なリストを認識していません。このリストはプラグインのみに含まれています。 他のユーザーがソース コード管理プロジェクトにファイルを追加している場合、これらのファイルはリストに表示されますが、IDE では認識されません。 IDE によって、ユーザーが取得できると思われるファイルのリストが作成されます。 このリストをユーザーに表示する前に、SccPopulateList, を呼び出して、ソース管理プラグインによってリストでファイルを追加および削除できるようにします。
署名
ソース管理プラグインでは、IDE によって実装された関数を次のプロトタイプで呼び出すことによって、リストを変更します。
typedef BOOL (*POPLISTFUNC) (
LPVOID pvCallerData,
BOOL fAddRemove,
LONG nStatus,
LPSTR lpFileName
);
パラメーター
pvCallerData 呼び出し元 (IDE) によって SccPopulateList に渡される pvCallerData パラメーター。 ソース管理プラグインでは、このパラメーターの内容について何も想定していません。
fAddRemove TRUE の場合は、lpFileName が、ファイル リストに追加する必要があるファイルです。 FALSE の場合は、lpFileName が、ファイル リストから削除する必要があるファイルです。
nStatus 状態 lpFileName (SCC_STATUS ビットの組み合わせ。詳細については、「ファイルの状態コード」を参照してください)。
lpFileName リストで追加または削除するファイル名の完全なディレクトリ パス。
戻り値
| 値 | 説明 |
|---|---|
TRUE |
プラグインでは、この関数の呼び出しを続行できます。 |
FALSE |
IDE 側で問題が発生しました (メモリ不足の状況など)。 プラグインで操作を停止する必要があります。 |
解説
ソース管理プラグインによってファイル リストで追加または削除しようとしているファイルごとに、この関数を呼び出して lpFileName を渡します。 fAddRemove フラグは、リストに追加する新しいファイルまたは削除する前のファイルを示します。 nStatus パラメーターは、ファイルの状態を示します。 SCC プラグインでファイルの追加と削除を完了すると、SccPopulateList 呼び出しから戻ります。
Note
Visual Studio では SCC_CAP_POPULATELIST 機能ビットが必要です。