IVsSccManager2.GetSccGlyph 方法

此方法由项目中文件和文件的源代码管理状态调用查看源代码管理标志符号使用;这是唯一的方式获取状态。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
Function GetSccGlyph ( _
    cFiles As Integer, _
    rgpszFullPaths As String(), _
    <OutAttribute> rgsiGlyphs As VsStateIcon(), _
    <OutAttribute> rgdwSccStatus As UInteger() _
) As Integer
int GetSccGlyph(
    int cFiles,
    string[] rgpszFullPaths,
    VsStateIcon[] rgsiGlyphs,
    uint[] rgdwSccStatus
)

参数

  • cFiles
    类型:System.Int32
    [in] 计数文件。,如果有文件在源代码管理下,所以它比 0 应大。目前,该环境仅支持计数 1。
  • rgpszFullPaths
    类型:array<System.String[]
    [in] 某些文件的路径;不能为 nullnull 引用(在 Visual Basic 中为 Nothing)。
  • rgdwSccStatus
    类型:array<System.UInt32[]
    [out] 为相应的 rgpszFullPaths 项指定状态。有关可能值列表,请参见文件状态代码枚举数。此参数可以为 nullnull 引用(在 Visual Basic 中为 Nothing)。

返回值

类型:System.Int32
方法返回 S_OK ,如果至少一个文件进行控制, S_FALSE ; 如果没有进行控制。

备注

COM 签名

从 ivssccmanager2.idl

HRESULT GetSccGlyph(
   [in] int cFiles,
   [in, size_is(cFiles)] const LPCOLESTR rgpszFullPaths[],
   [out, size_is(cFiles)] VsStateIcon rgsiGlyphs[],
   [out, size_is(cFiles)] DWORD rgdwSccStatus[]
);

此方法由项目文件中调用查看源代码管理标志符号使用。 当项目首次打开在启动时,都会调用此方法获取该项的标志符号。 使用 SccGlyphChanged,在启动后,该环境提供标志符号对该项。 标志符号通过环境的图标索引 (VsStateIcon 枚举) 表示。

项目如何使用此方法

源代码管理状态每个文件可选) 还返回;但是,项目最好转而使用标志符号,但是,不缓存源代码管理状态。 调用此方法,每次状态是必需的,而不是保持状态位自己的记录。

当项目接收 GetProperty 方法时 (VSHPROPID_StateIconIndex) 请从该环境调用,它应调用相应的文件的 GetSccGlyph 或由于 VSITEMID 的文件中指定的调用。 该项不需要存储返回的状态图标该环境将保存。 值得注意的是,项目允许调用 GetSccGlyph ,在调用通过 GetProperty环境,,但,在 SccGlyphChanged调用时,传递该项目的标志符号,并且不需要再次调用 GetSccGlyph 。 ,除非到 SccGlyphChanged 的参数是 nullnull 引用(在 Visual Basic 中为 Nothing),使用 SetProperty 方法,该项目会立即通过特定标志符号添加到该环境。 在这种情况下,该项目应调用任何环境在项目的 VSITEMID 的。

注意以下事项:

  • 如果该文件从源代码管理下, SCC_STATUS_CONTROLLED 标志设置为。

  • 如果当前用户签出文件到指定的工作目录, SCC_STATUS_CHECKEDOUT 标志设置为。

.NET Framework 安全性

请参见

参考

IVsSccManager2 接口

Microsoft.VisualStudio.Shell.Interop 命名空间