此函数初始化插件的源控件并提供功能和限制对集成开发环境 (IDE)。
SCCRTN SccInitialize (
LPVOID* ppvContext,
HWND hWnd,
LPCSTR lpCallerName,
LPSTR lpSccName,
LPLONG lpSccCaps,
LPSTR lpAuxPathLabel,
LPLONG pnCheckoutCommentLen,
LPLONG pnCommentLen
);
参数
ppvContext
[in] 源代码管理插件能放在指向其上下文结构示。hWnd
[in] 的句柄到源代码管理插件能用作父级为所有对话框它提供的 IDE 窗口。lpCallerName
[in] 调用源代码管理插件过程的名称。lpSccName
[in, out] 缓冲区源代码管理插件将自己的名称 (不超过 SCC_NAME_LEN)。lpSccCaps
[out] 返回源代码管理插件的功能标志。lpAuxPathLabel
[in, out] 缓冲区源代码管理插件将描述 SccOpenProject 函数 和 SccGetProjPath 函数 返回的 lpAuxProjPath 参数的字符串 (不超过 SCC_AUXLABEL_LEN)。pnCheckoutCommentLen
[out] 返回签出注释的最大允许长度。pnCommentLen
[out] 返回其他注释的最大允许长度。
返回值
此函数的源代码管理插件实现应返回下列值之一:
值 |
说明 |
---|---|
SCC_OK |
成功的源代码管理初始化。 |
SCC_E_INITIALIZEFAILED |
系统未能初始化。 |
SCC_E_NOTAUTHORIZED |
用户不允许执行指定的操作。 |
SCC_E_NONSPECFICERROR |
未指定的失败;源代码管理系统未初始化。 |
备注
,在第一次加载源代码管理插件时, IDE 会调用此函数。 它使 IDE 将该插件传递特定信息,例如调用方名称,。 IDE 还允许回特定信息 (如注释和插件的功能的最大数量长度。
ppvContext 指向 NULL 指针。 源代码管理插件可以分配自己使用的结构和存储指向该结构在 ppvContext。 IDE 将此指向其他 VSSCI API 函数,利用该插件包含上下文可用的信息,而不依赖于对全局存储和支持该插件的多个实例。 此机制,当 SccUninitialize 函数 调用时,应释放。
lpCallerName 和 lpSccName 参数以使 IDE 和源代码管理插件交换名称。 这些名称可以在多个实例中区分,也可能实际上出现在菜单或对话框。
lpAuxPathLabel 参数是作为注释用于的字符串标识在解决方案文件存储并传递给被调用的源代码管理插件来 SccOpenProject 函数的从属项路径。 Visual SourceSafe 使用字符串 “SourceSafe 项目: ”;其他源代码管理插件应避免使用此特定字符串。
lpSccCaps 参数为源代码管理插件一个位置指示插件的功能的存储 bitflags。 (对于完整列表功能 bitflags,请参见 功能标志)。 例如,因此,如果该插件计划编写结果赋给调用方提供一个回调函数,该插件将设置功能位 SCC_CAP_TEXTOUT。 这将通知 IDE 创建版本控制的窗口发生。