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

IVsAggregatableProject.InitializeForOuter Method

Called by the owner, the outer project subtype, to have the owned project, the inner project subtype, to do its initialization work.

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

int InitializeForOuter(
	string pszFilename,
	string pszLocation,
	string pszName,
	uint grfCreateFlags,
	ref Guid iidProject,
	out IntPtr ppvProject,
	out int pfCanceled


Type: System.String
[in] Project file name of the project to be initialized.
Type: System.String
[out] Location of the initialized project file.
Type: System.String
[in] Pointer to a null-terminated string containing the name.
Type: System.UInt32
[in] Controls how a project is created or opened. Values are taken from the __VSCREATEPROJFLAGS enumeration.
Type: System.Guid
[in] Identifier of the interface of the returned ppvProject.
Type: System.IntPtr
[out, iid_is(iidProject)] Pointer to the interface specified by iidProject.
Type: System.Int32
[out] Pointer to a flag where true indicates canceled.

Return Value

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

COM Signature

From vsshell80.idl:

HRESULT IVsAggregatableProject::InitializeForOuter(
   [in] LPCOLESTR pszFilename,
   [in] LPCOLESTR pszLocation,
   [in] LPCOLESTR pszName,
   [in] VSCREATEPROJFLAGS grfCreateFlags,
   [in] REFIID iidProject,
   [out, iid_is(iidProject)] void **ppvProject,
   [out] BOOL *pfCanceled

The owned project subtype should do all of its project creation work, similar to CreateProject, in your implementation of this method.