SccSetOption 函数

此功能将控件源代码管理插件的行为的选项。

SCCRTN SccSetOption(
   LPVOID pvContext,
   LONG   nOption,
   LONG   dwVal
);

参数

  • pvContext
    [in] 源代码管理插件上下文结构。

  • nOption
    [] 设置的选项。

  • dwVal
    [in] 选项卡上的设置。

返回值

此函数的源代码管理插件实现应返回下列值之一:

说明

SCC_OK

选项已成功设置。

SCC_I_SHARESUBPROJOK

返回的,如果 nOption 是 SCC_OPT_SHARESUBPROJ 和源代码管理插件允许 IDE 设置目标文件夹。

SCC_E_OPNOTSUPPORTED

选项卡尚未设置不应依赖于。

备注

IDE 调用此功能控制源代码管理插件的行为。 第一个参数, nOption,指示设置的值,,而第二, dwVal,指示如何处理该值。 该插件将此信息存储与 pvContext, ,因此 IDE 必须在调用 SccInitialize 函数 后调用此函数 (不过,在每个后不必调用 SccOpenProject 函数)。

选项及其值的摘要:

nOption

dwValue

说明

SCC_OPT_EVENTQUEUE

SCC_OPT_EQ_DISABLE

SCC_OPT_EQ_ENABLE

启用/禁用背景事件进行排队。

SCC_OPT_USERDATA

随机值

指定要传递的用户值设置为 OPTNAMECHANGEPFN 回调函数。

SCC_OPT_HASCANCELMODE

SCC_OPT_HCM_NO

SCC_OPT_HCM_YES

指示 IDE 当前是否支持取消操作。

SCC_OPT_NAMECHANGEPFN

OPTNAMECHANGEPFN 回调函数的指针

设置指向名称更改回调函数。

SCC_OPT_SCCCHECKOUTONLY

SCC_OPT_SCO_NO

SCC_OPT_SCO_YES

指示 IDE 是否允许手动检查在其文件外部 (通过源代码管理用户界面) 还是必须通过源代码管理插件只检查它们。

SCC_OPT_SHARESUBPROJ

不可用

如果源代码管理插件允许 IDE 指定本地项目文件夹中,该插件返回 SCC_I_SHARESUBPROJOK。

SCC_OPT_EVENTQUEUE

如果 nOption 是 SCC_OPT_EVENTQUEUE, IDE (禁用或重新启用) 后台进程。 例如,在生成期间, IDE,可能指示源代码管理插件停止在空闲处理任何类型。 在生成,它将重新启用处理的背景保留插件的事件迄今后进行排队。 与 nOption对应的 SCC_OPT_EVENTQUEUE 值,有 dwVal,也就是说, SCC_OPT_EQ_ENABLE 和 SCC_OPT_EQ_DISABLE的两个可能的值。

SCC_OPT_HASCANCELMODE

如果 nOption 的值是 SCC_OPT_HASCANCELMODE, IDE 允许用户取消长操作。 设置为 SCC_OPT_HCM_NO (默认值) 的 dwVal 指示 IDE 没有取消模式。 ,如果希望用户能够取消,源代码管理插件必须提供自己的取消按钮。 SCC_OPT_HCM_YES 指示 IDE 能够取消操作,因此, SCC 插件不需要公开自己的取消按钮。 如果 IDE 设置 dwVal 到 SCC_OPT_HCM_YES,已准备响应 SCC_MSG_STATUS 和 DOCANCEL 发送到 lpTextOutProc 回调函数 (请参见 LPTEXTOUTPROC)。 如果 IDE 未设置此变量,该插件不应发送到的信息。

SCC_OPT_NAMECHANGEPFN

如果 nOption 设置为 SCC_OPT_NAMECHANGEPFN,并且,插件的源代码管理和 IDE 允许,该插件可以在源控制操作时实际重命名或移动文件重命名为。 dwVal 将设置为类型 OPTNAMECHANGEPFN函数指针。 在源代码管理操作时,该插件可调用此功能,通过在三个参数。 这些是旧名称 (用完全限定路径) 的文件,新名称 (用完全限定路径) 的源文件和指向与 IDE 的依赖项的信息。 IDE 点处的最终指针发送通过调用 SccSetOption 和设置的 nOption 到 SCC_OPT_USERDATA,并 dwVal 到数据。 为支持此功能是可选的。 VSSCI 插件使用此功能必须初始化其函数指针和用户数据变量到 NULL和不能调用重命名函数,否则为。 提供还应准备它以表示值或更改其响应新调用 SccSetOption。 这不会在源代码管理命令操作元发生,但是,它可以在命令之间。

SCC_OPT_SCCCHECKOUTONLY

如果 nOption 设置为 SCC_OPT_SCCCHECKOUTONLY, IDE 指示不应通过源代码管理系统用户界面手动检查在当前打开的项目中的文件。 相反,应通过在 IDE 控件下的源代码管理插件只检查文件。 如果 dwValue 设置为 SCC_OPT_SCO_NO,这意味着应由该插件通常将文件,并且可以通过源代码管理 UI 将检查。 如果 dwValue 设置为 SCC_OPT_SCO_YES,则只有该插件允许签出文件,并且,源代码管理系统的 UI 不应调用。 这是 IDE 可能具有 “虚拟文件”有意义通过 IDE 只检查的情况。

SCC_OPT_SHARESUBPROJ

如果nOption 设置为 SCC_OPT_SHARESUBPROJ, IDE 浏览源代码管理插件是否可以使用指定的本地文件夹,在将文件从源代码管理时。 dwVal 参数的值在这种情况下不重要。 如果该插件允许使用 IDE 指定文件从源代码管理要添加的本地目标文件夹,当 SccAddFromScc 函数 调用时,则该插件必须返回 SCC_I_SHARESUBPROJOK ,当 SccSetOption 函数调用时。 IDE 在目标文件夹中使用 SccAddFromScc 功能的 lplpFileNames 参数传递。 将文件的目标文件夹从源代码管理添加的插件使用。 如果该插件未返回 SCC_I_SHARESUBPROJOK ,当 SCC_OPT_SHARESUBPROJ 选项时, IDE 假定,该插件可以只向文件在当前本地文件夹。

请参见

参考

SccInitialize 函数

SccOpenProject 函数

SccAddFromScc 函数

LPTEXTOUTPROC

OPTNAMECHANGEPFN

概念

源代码管理插件 API 函数