IVsAggregatableProjectFactory.PreCreateForOuter Method

Called by the owner or outer project subtype so that the owned or inner project subtype can create a version of itself that can be aggregated.

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

Syntax

'Declaration
Function PreCreateForOuter ( _
    punkOuter As Object, _
    <OutAttribute> ByRef ppunkProject As Object _
) As Integer
int PreCreateForOuter(
    Object punkOuter,
    out Object ppunkProject
)
int PreCreateForOuter(
    [InAttribute] Object^ punkOuter, 
    [OutAttribute] Object^% ppunkProject
)
abstract PreCreateForOuter : 
        punkOuter:Object * 
        ppunkProject:Object byref -> int
function PreCreateForOuter(
    punkOuter : Object, 
    ppunkProject : Object
) : int

Parameters

  • punkOuter
    Type: System.Object

    [in] Pointer to the outer IUnknown interface.

  • ppunkProject
    Type: System.Object%

    [out] Pointer to the inner or owned project subtype IUnknown interface.

Return Value

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

Remarks

COM Signature

From vsshell80.idl:

HRESULT IVsAggregatableProjectFactory::PreCreateForOuter(
   [in] IUnknown *punkOuter,
   [out] IUnknown **ppunkProject
);

PreCreateForOuter is called by the owner or outer project subtype so that the owned or inner project subtype can create an aggregatable version of itself. The outer IUnknown (punkOuter) is the controlling IUnknown. The owned project subtype should only create its project object instance here. All the initialization work should occur in InitializeForOuter method to ensure that the owner or outer project subtype works correctly during the owned or inner project subtype initialization.

The owned project must return its inner IUnknown.

.NET Framework Security

See Also

Reference

IVsAggregatableProjectFactory Interface

Microsoft.VisualStudio.Shell.Interop Namespace