SccAdd 函数
此函数将新文件添加到源代码管理系统。
语法
SCCRTN SccAdd(
LPVOID pvContext,
HWND hWnd,
LONG nFiles,
LPCSTR* lpFileNames,
LPCSTR lpComment,
LONG* pfOptions,
LPCMDOPTS pvOptions
);
参数
pvContext
[in]源代码管理插件上下文结构。
hWnd
[in]源代码管理插件可以作为其提供的任何对话框的父级的 IDE 窗口的句柄。
nFiles
[in]所选文件数,如数组中 lpFileNames
给定的那样添加到当前项目。
lpFileNames
[in]要添加的文件的完全限定本地名称数组。
lpComment
[in]要应用于要添加的所有文件的注释。
pfOptions
[in]每个文件提供的命令标志数组。
pvOptions
[in]特定于源代码管理插件的选项。
返回值
此函数的源代码管理插件实现应返回以下值之一:
值 | 说明 |
---|---|
SCC_OK | 添加操作成功。 |
SCC_E_FILEALREADYEXISTS | 所选文件已在源代码管理下。 |
SCC_E_TYPENOTSUPPORTED | 源代码管理系统不支持文件类型(例如二进制文件)。 |
SCC_E_OPNOTSUPPORTED | 源代码管理系统不支持此操作。 |
SCC_E_ACCESSFAILURE | 访问源代码管理系统时出现问题,可能是因为网络或争用问题。 建议重试。 |
SCC_E_NOTAUTHORIZED | 不允许用户执行此操作。 |
SCC_E_NONSPECIFICERROR | 非特定故障;添加未执行。 |
SCC_I_OPERATIONCANCELED | 操作在完成之前已取消。 |
SCC_I_RELOADFILE | 需要重新加载文件或项目。 |
SCC_E_FILENOTEXIST | 找不到本地文件。 |
注解
此处通常 fOptions
由数组替换, pfOptions
每个文件有一个 LONG
选项规范。 这是因为文件类型可能因文件而异。
注意
为同一文件指定和SCC_FILETYPE_TEXT
SCC_FILETYPE_BINARY
选项无效,但指定两者都无效。 设置两者都不与设置 SCC_FILETYPE_AUTO
相同,在这种情况下,源代码管理插件会自动检测文件类型。
下面是数组中使用的 pfOptions
标志列表:
选项 | 值 | 含义 |
---|---|---|
SCC_FILETYPE_AUTO | 0x00 | 源代码管理插件应检测文件类型。 |
SCC_FILETYPE_TEXT | 0x01 | 指示 ASCII 文本文件。 |
SCC_FILETYPE_BINARY | 0x02 | 指示 ASCII 文本以外的文件类型。 |
SCC_ADD_STORELATEST | 0x04 | 仅存储文件的最新副本,不存储增量。 |
SCC_FILETYPE_TEXT_ANSI | 0x08 | 将文件视为 ANSI 文本。 |
SCC_FILETYPE_UTF8 | 0x10 | 将文件视为 UTF8 格式的 Unicode 文本。 |
SCC_FILETYPE_UTF16LE | 0x20 | 将文件视为 UTF16 Little Endian 格式的 Unicode 文本。 |
SCC_FILETYPE_UTF16BE | 0x40 | 将文件视为 UTF16 Big Endian 格式的 Unicode 文本。 |