We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

IVsSolution.GetProjectEnum Method

Returns an enumerator for all the projects in the solution.

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

int GetProjectEnum(
	uint grfEnumFlags,
	ref Guid rguidEnumOnlyThisType,
	out IEnumHierarchies ppenum


Type: System.UInt32
[in] Specifies the projects to enumerate within a solution. For a list of grfEnumFlags values, see __VSENUMPROJFLAGS.
Type: System.Guid
[in] If the EPF_MATCHTYPE flag is specified, the enumerator iterates projects of this type only. Otherwise, this parameter is ignored.
Type: Microsoft.VisualStudio.Shell.Interop.IEnumHierarchies
[out] Pointer to the project enumerator.

Return Value

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

COM Signature

From vsshell.idl:

HRESULT IVsSolution::GetProjectEnum(
   [in] VSENUMPROJFLAGS grfEnumFlags,
   [in] REFGUID rguidEnumOnlyThisType,
   [out] IEnumHierarchies **ppEnum

This method enumerates all projects that are known by the solution, including virtual projects, if specified. The IEnumHierarchies interface contains the following methods in Vtable order: