此功能允许用户为已处于源代码管理系统中的文件浏览并随后进行一些文件部件当前项目。 例如,此功能可以获取一个常见头文件添加到当前项目中,不复制文件。 返回几个文件, lplpFileNames,包含用户添加到 IDE 项目文件的列表。
SCCRTN SccAddFromScc (
LPVOID pvContext,
HWND hWnd,
LPLONG lpnFiles,
LPCSTR** lplpFileNames
);
参数
pvContext
[in] 源代码管理插件上下文结构。hWnd
[in] 的句柄到源代码管理插件能用作父级为所有对话框它提供的 IDE 窗口。lpnFiles
[in, out] 添加文件数的缓冲区。 (这是 NULL ,如果将释放内存指向由 lplpFileNames 。 请参见 " 备注 " 了解详细信息。)lplpFileNames
[in, out] 数组对所有文件名称的指针没有目录路径。 源代码管理插件分配此数组并释放。 如果 lpnFiles = 1 和 lplpFileNames 不是 NULL,数组的名称指向由 lplpFileNames 包含目标文件夹。
返回值
此函数的源代码管理插件实现应返回下列值之一:
值 |
说明 |
---|---|
SCC_OK |
文件成功找到并添加到项目。 |
SCC_I_OPERATIONCANCELED |
操作取消了无效。 |
SCC_I_RELOADFILE |
文件或项目需要重新加载。 |
备注
IDE 调用此函数。 如果源代码管理插件支持指定本地目标文件夹, IDE。 lpnFiles = 1 并将本地文件夹名称。 lplpFileNames。
当对 SccAddFromScc 函数的调用返回时,该插件进行了值。 lpnFiles 和 lplpFileNames,根据需要分配内存为文件名数组 (请注意此赋值替换在 lplpFileNames的指针)。 源代码管理插件来将所有文件来向用户目录中或指定的标识符文件夹。 IDE 然后将文件添加到 IDE 项目。
最后, IDE 会调用此函数的第二次,通过在 NULL 的 lpnFiles。 该值被解释为特定信号由源代码管理插件释放为在 lplpFileNames.的文件名数组分配的内存
lplpFileNames 是 char *** 指针。 源代码管理插件将指向数组的指针文件名,从而通过列表此 API 中的标准方法。
备注
VSSCI API 的初始译本未提供一种指示所添加的文件的目标项目。为此, lplpFIleNames 参数的语义增强使其作为 in/out 参数而不是输出参数。如果只有一个文件指定,也就是说,该值指向由 lpnFiles = 1,则 lplpFileNames 的第一个元素包含目标文件夹。若要使用这些新语义, IDE 将使用 nOption参数的 SccSetOption 功能设置为 SCC_OPT_SHARESUBPROJ。如果源代码管理插件不支持语义,它返回 SCC_E_OPTNOTSUPPORTED。这会禁用使用 从源代码管理添加 功能。如果插件支持 从源代码管理添加 功能 (SCC_CAP_ADDFROMSCC),则它必须支持新的语义和返回 SCC_I_SHARESUBPROJOK。