Share via


IVsSccProject2.SccGlyphChanged Method

This method is called by the source control portion of the environment to inform the project of changes to the source control glyph on various nodes.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

Syntax

'Declaration
Function SccGlyphChanged ( _
    cAffectedNodes As Integer, _
    rgitemidAffectedNodes As UInteger(), _
    rgsiNewGlyphs As VsStateIcon(), _
    rgdwNewSccStatus As UInteger() _
) As Integer
int SccGlyphChanged(
    int cAffectedNodes,
    uint[] rgitemidAffectedNodes,
    VsStateIcon[] rgsiNewGlyphs,
    uint[] rgdwNewSccStatus
)
int SccGlyphChanged(
    [InAttribute] int cAffectedNodes, 
    [InAttribute] array<unsigned int>^ rgitemidAffectedNodes, 
    [InAttribute] array<VsStateIcon>^ rgsiNewGlyphs, 
    [InAttribute] array<unsigned int>^ rgdwNewSccStatus
)
abstract SccGlyphChanged : 
        cAffectedNodes:int * 
        rgitemidAffectedNodes:uint32[] * 
        rgsiNewGlyphs:VsStateIcon[] * 
        rgdwNewSccStatus:uint32[] -> int 
function SccGlyphChanged(
    cAffectedNodes : int, 
    rgitemidAffectedNodes : uint[], 
    rgsiNewGlyphs : VsStateIcon[], 
    rgdwNewSccStatus : uint[]
) : int

Parameters

  • cAffectedNodes
    Type: System.Int32
    [in] Count of changed nodes.
  • rgitemidAffectedNodes
    Type: array<System.UInt32[]
    [in] An array of VSITEMID identifiers of the changed nodes.
  • rgdwNewSccStatus
    Type: array<System.UInt32[]
    [in] An array of status flags from the File Status Code Enumerator (SccStatus) corresponding to rgitemidAffectedNodes.

Return Value

Type: System.Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

COM Signature

From ivssccproject2.idl

HRESULT SccGlyphChanged(
   [in] int cAffectedNodes,
   [in, size_is(cAffectedNodes)] const VSITEMID rgitemidAffectedNodes[],
   [in, size_is(cAffectedNodes)] const VsStateIcon rgsiNewGlyphs[],
   [in, size_is(cAffectedNodes)] const DWORD rgdwNewSccStatus[]
);

The source control glyph is a small icon adjacent to the project item's icon; it indicates the source control status of the item. The glyphs are denoted by the shell's icon index (the VsStateIcon enumeration).

If all of the parameters are nulla null reference (Nothing in Visual Basic) and the count equals zero (cAffectedNodes == 0), then all of the associated project files will be updated. In this case, the project must call GetSccGlyph on the SVsSccManager service to retrieve the glyphs for its files. Otherwise, do not call this method.

When the project receives the GetProperty(VSHPROPID_StateIconIndex) call from the environment, it should call GetSccGlyph for the appropriate file or files for the VSITEMID specified in that call. The project does not need to store the returned state icon—the environment stores it. It is important to note that a project can call GetSccGlyph when the environment calls GetProperty on the project, but when the environment calls IVsSccProject2::SccGlyphChanged on the project, the project is handed the glyphs and does not need to call GetSccGlyph again. The project can immediately pass the given glyphs to the environment using SetProperty unless the parameters to IVsSccProject2::SccGlyphChanged are nulla null reference (Nothing in Visual Basic), in which case, the project should call the environment for all of the VSITEMIDs in the project.

.NET Framework Security

See Also

Reference

IVsSccProject2 Interface

Microsoft.VisualStudio.Shell.Interop Namespace