Condividi tramite


IVsSolution.AddVirtualProject(IVsHierarchy, UInt32) Method

Definition

Adds a type of virtual project that is not created by clicking Open Project on the New menu to open the solution.

public:
 int AddVirtualProject(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierarchy, System::UInt32 grfAddVPFlags);
public:
 int AddVirtualProject(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierarchy, unsigned int grfAddVPFlags);
int AddVirtualProject(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & pHierarchy, unsigned int grfAddVPFlags);
public int AddVirtualProject (Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierarchy, uint grfAddVPFlags);
abstract member AddVirtualProject : Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 -> int
Public Function AddVirtualProject (pHierarchy As IVsHierarchy, grfAddVPFlags As UInteger) As Integer

Parameters

pHierarchy
IVsHierarchy

[in] Pointer to the IVsHierarchy interface for the virtual project object. This object must support at least the following interfaces: IVsHierarchyIVsUIHierarchyIVsProject

grfAddVPFlags
UInt32

[in] Determines whether to add a new virtual project to the Solution Explorer. For a list of grfAddVPFlags, see __VSADDVPFLAGS.

Returns

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

COM Signature

From vsshell.idl:

HRESULT IVsSolution::AddVirtualProject(  
   [in] IVsHierarchy *pHierarchy,  
   [in] VSADDVPFLAGS grfAddVPFlags  
);  

Virtual projects are created by another facility that manages the project, and then they are added to the solution. This method makes it possible for these project hierarchies to participate in the GetProjectEnum project enumeration. You must include EPF_VIRTUAL flag in the call to GetProjectEnum if virtual projects are to be included in the enumeration. If EPF_ALL is specified, virtual projects are not included.

A virtual project is an IVsHierarchy interface item that behaves as a project in that it is a container of items (documents), but it is not a real project because it is not created by clicking Project on the New menu. Examples of virtual projects are the DataView hierarchies. These hierarchies are containers for stored procedures, tables, views, schema diagrams, and so on. By adding a DataView hierarchy as a virtual project, the OpenDocumentViaProject method can open items from DataView hierarchies. This functionality is important, as it makes possible the debugging of stored procedures.

Note

Use the RemoveVirtualProject method to close a virtual project.

Applies to