Share via


IVsSccProject2.SccGlyphChanged Method

Definition

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.

public:
 int SccGlyphChanged(int cAffectedNodes, cli::array <System::UInt32> ^ rgitemidAffectedNodes, cli::array <Microsoft::VisualStudio::Shell::Interop::VsStateIcon> ^ rgsiNewGlyphs, cli::array <System::UInt32> ^ rgdwNewSccStatus);
public:
 int SccGlyphChanged(int cAffectedNodes, Platform::Array <unsigned int> ^ rgitemidAffectedNodes, Platform::Array <Microsoft::VisualStudio::Shell::Interop::VsStateIcon> ^ rgsiNewGlyphs, Platform::Array <unsigned int> ^ rgdwNewSccStatus);
int SccGlyphChanged(int cAffectedNodes, std::Array <unsigned int> const & rgitemidAffectedNodes, std::Array <Microsoft::VisualStudio::Shell::Interop::VsStateIcon> const & rgsiNewGlyphs, std::Array <unsigned int> const & rgdwNewSccStatus);
public int SccGlyphChanged (int cAffectedNodes, uint[] rgitemidAffectedNodes, Microsoft.VisualStudio.Shell.Interop.VsStateIcon[] rgsiNewGlyphs, uint[] rgdwNewSccStatus);
abstract member SccGlyphChanged : int * uint32[] * Microsoft.VisualStudio.Shell.Interop.VsStateIcon[] * uint32[] -> int
Public Function SccGlyphChanged (cAffectedNodes As Integer, rgitemidAffectedNodes As UInteger(), rgsiNewGlyphs As VsStateIcon(), rgdwNewSccStatus As UInteger()) As Integer

Parameters

cAffectedNodes
Int32

[in] Count of changed nodes.

rgitemidAffectedNodes
UInt32[]

[in] An array of VSITEMID identifiers of the changed nodes.

rgsiNewGlyphs
VsStateIcon[]

[in] An array of VsStateIcon glyphs representing the new state of the corresponding item in rgitemidAffectedNodes.

rgdwNewSccStatus
UInt32[]

[in] An array of status flags from the File Status Code Enumerator (SccStatus) corresponding to rgitemidAffectedNodes.

Returns

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 null 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(SccGlyphChanged) 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 null, in which case, the project should call the environment for all of the VSITEMIDs in the project.

Applies to