The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at POPLISTFUNC.

This callback is supplied to the SccPopulateList by the IDE and is used by the source control plug-in to update a list of files or directories (also supplied to the SccPopulateList function).

When a user chooses the Get command in the IDE, the IDE displays a list box of all files that the user can get. Unfortunately, the IDE does not know the exact list of all the files that the user might get; only the plug-in has this list. If other users have added files to the source code control project, these files should appear in the list, but the IDE does not know about them. The IDE builds a list of the files that it thinks the user can get. Before it displays this list to the user, it calls the SccPopulateList, giving the source control plug-in a chance to add and delete files from the list.

The source control plug-in modifies the list by calling an IDE-implemented function with the following prototype:

typedef BOOL (*POPLISTFUNC) (  
   LPVOID pvCallerData,  
   BOOL fAddRemove,  
   LONG nStatus,  
   LPSTR lpFileName  

The pvCallerData parameter passed by the caller (the IDE) to the SccPopulateList. The source control plug-in should assume nothing about the contents of this parameter.

If TRUE, lpFileName is a file that should be added to the file list. If FALSE, lpFileName is a file that should be deleted from the file list.

Status of lpFileName (a combination of the SCC_STATUS bits; see File Status Code for details).

Full directory path of the file name to add or delete from the list.

TRUEThe plug-in can continue calling this function.
FALSEThere has been a problem on the IDE side (such as an out of memory situation). The plug-in should stop operation.

For each file that the source control plug-in wants to add to or delete from the file list, it calls this function, passing in the lpFileName. The fAddRemove flag indicates a new file to add to the list or an old file to delete. The nStatus parameter gives the status of the file. When the SCC plug-in has finished adding and deleting files, it returns from the SccPopulateList call.

System_CAPS_ICON_note.jpg Note

The SCC_CAP_POPULATELIST capability bit is required for Visual Studio.

Callback Functions Implemented by the IDE
Source Control Plug-ins
File Status Code