IVsAggregatableProjectFactory.PreCreateForOuter(Object, Object) 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.
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.
public:
int PreCreateForOuter(System::Object ^ punkOuter, [Runtime::InteropServices::Out] System::Object ^ % ppunkProject);
int PreCreateForOuter(winrt::Windows::Foundation::IInspectable const & punkOuter, [Runtime::InteropServices::Out] winrt::Windows::Foundation::IInspectable const & & ppunkProject);
public int PreCreateForOuter (object punkOuter, out object ppunkProject);
abstract member PreCreateForOuter : obj * obj -> int
Public Function PreCreateForOuter (punkOuter As Object, ByRef ppunkProject As Object) As Integer
Parameters
- punkOuter
- Object
[in] Pointer to the outer IUnknown
interface.
- ppunkProject
- Object
[out] Pointer to the inner or owned project subtype IUnknown
interface.
Returns
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
.