SccGetCommandOptions 函数

此函数提示用户输入给定命令的高级选项。

语法

SCCRTN SccGetCommandOptions(
   LPVOID pvContext,
   HWND hWnd,
   enum SCCCOMMAND iCommand,
   LPCMDOPTS* ppvOptions
);

参数

pvContext

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

hWnd

[in]源代码管理插件可以作为其提供的任何对话框的父级的 IDE 窗口的句柄。

iCommand

[in]请求其高级选项的命令(请参阅 命令代码 了解可能的值)。

ppvOptions

[in]选项结构(也可以是 NULL)。

返回值

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

说明
SCC_OK 成功。
SCC_I_ADV_SUPPORT 源代码管理插件支持命令的高级选项。
SCC_I_OPERATIONCANCELED 用户取消了源代码管理插件的 “选项 ”对话框。
SCC_E_OPTNOTSUPPORTED 源代码管理插件不支持此操作。
SCC_E_ISCHECKEDOUT 无法对当前检查已注销的文件执行此操作。
SCC_E_ACCESSFAILURE 访问源代码管理系统时出现问题,可能是因为网络或争用问题。 建议重试。
SCC_E_NONSPECIFICERROR 非特定故障。

备注

IDE 首次 ppvOptions=NULL 调用此函数,以确定源代码管理插件是否支持指定命令的高级选项功能。 如果插件确实支持该命令的功能,则当用户请求高级选项(通常作为对话框中的高级按钮实现)并提供指向ppvOptionsNULL指针的非 NULL 指针时,IDE 将再次调用此函数。 该插件将用户指定的任何高级选项存储在专用结构中,并返回指向该结构的 ppvOptions指针。 然后,此结构将传递给需要了解的其他所有源代码管理插件 API 函数,包括对函数的 SccGetCommandOptions 后续调用。

例如,可能有助于阐明这种情况。

用户选择 “获取 ”命令,IDE 将显示“ 获取 ”对话框。 IDE 调用SccGetCommandOptions设置为iCommandSCC_COMMAND_GETppvOptions设置为 NULL.. 源代码管理插件将此解释为问题“是否具有此命令的高级选项?”如果插件返回SCC_I_ADV_SUPPORT,IDE 在其“获取”对话框中显示“高级”按钮。

用户第一次单击“高级”按钮时,IDE 再次调用SccGetCommandOptions该函数,这次调用的是指向指针的非NULL``ppvOptionsNULL指针。 该插件显示自己的 “获取选项 ”对话框,提示用户输入信息,将该信息放入其自己的结构中,并返回指向该结构的 ppvOptions指针。

如果用户在同一对话框中再次单击“高级,IDE 将再次调用SccGetCommandOptions函数而不更改ppvOptions,以便将结构传回插件。 这使插件能够将其对话框重新初始化为用户以前设置的值。 插件在返回之前修改结构。

最后,当用户在 IDE 的“获取”对话框中单击“确定时,IDE 将调用 SccGet,并传递包含高级选项的结构ppvOptions

注意

当 IDE 显示“选项”对话框时,将使用该命令SCC_COMMAND_OPTIONS,该对话框允许用户设置控制集成工作原理的首选项。 如果源代码管理插件想要提供自己的首选项对话框,可以从 IDE 首选项对话框中的“高级”按钮显示它。 插件只负责获取和保存此信息;IDE 不使用它或修改它。

另请参阅