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 源代码管理插件是否支持指定的命令高级选项功能。 如果该插件支持该命令的功能, IDE 会再次调用此功能,当用户请求高级选项 (通常实现为在对话框中的一个 高级 按钮) 和提供指向 NULL 指针 ppvOptions 的非 null 指针。 该插件在专用结构存储用户指定的所有高级选项并返回指向在 ppvOptions的目标框架。 此结构随后传递给插件 API 函数需要访问此知道,包括对的后续调用 SccGetCommandOptions 功能的其他数据源控件。

示例可帮助阐明此问题。

用户选择 获取 命令, IDE 获取 显示对话框。 IDE 调用与 iCommand 设置为 SCC_COMMAND_GET 和 ppvOptions 的 SccGetCommandOptions 功能设置为 NULL。 这是由源代码管理插件解释为问题, “有此命令的所有高级选项?”如果该插件返回 SCC_I_ADV_SUPPORT,则 IDE 将显示在其 获取 一个对话框的 高级 按钮。

第一次用户单击 高级 按钮时, IDE 再次调用 SccGetCommandOptions 功能,指向 NULL 指针与非NULLppvOptions 的查询。 该插件显示自己的 获取选项 对话框,提示用户输入信息,将会将它的结构,并返回指向在 ppvOptions的目标框架。

如果用户再次单击 高级 在同一对话框, IDE 会再次调用 SccGetCommandOptions 功能,而不必更改 ppvOptions,因此,结构传回该插件。 这使得该插件初始化它对话框向用户之前设置的值。 该插件就地在返回之前修改结构。

最后,那么,当用户单击在 IDE 的 获取 对话框中 , IDE 调用 SccGet 函数,将包含高级选项在 ppvOptions 返回的结构。

备注

使用命令 SCC_COMMAND_OPTIONS ,当 IDE 显示让用户首选项设置控件的 选项 对话框时集成的工作方式。如果源代码管理插件若要提供自己的喜好对话框,它可以将其显示在 IDE 的喜好一个对话框的 高级 按钮。该插件来获取并保存负责单独此信息;IDE 不使用或不修改它。

请参见

参考

命令代码枚举器

概念

源代码管理插件 API 函数