IVsSccProject2.SccGlyphChanged Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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 VSITEMID
s in the project.