main
cpp 42 lines 1.4 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 #include "precomp.h"
4 #include "BextBaseBootstrapperExtension.h"
5 #include "BextBaseBootstrapperExtensionProc.h"
6
7 class CTestBootstrapperExtension : public CBextBaseBootstrapperExtension
8 {
9 public:
10 CTestBootstrapperExtension(
11 __in IBootstrapperExtensionEngine* pEngine
12 ) : CBextBaseBootstrapperExtension(pEngine)
13 {
14 }
15 };
16
17 HRESULT TestBootstrapperExtensionCreate(
18 __in IBootstrapperExtensionEngine* pEngine,
19 __in const BOOTSTRAPPER_EXTENSION_CREATE_ARGS* pArgs,
20 __inout BOOTSTRAPPER_EXTENSION_CREATE_RESULTS* pResults,
21 __out IBootstrapperExtension** ppBootstrapperExtension
22 )
23 {
24 HRESULT hr = S_OK;
25 CTestBootstrapperExtension* pExtension = NULL;
26
27 pExtension = new CTestBootstrapperExtension(pEngine);
28 ExitOnNull(pExtension, hr, E_OUTOFMEMORY, "Failed to create new CTestBootstrapperExtension.");
29
30 hr = pExtension->Initialize(pArgs);
31 ExitOnFailure(hr, "CTestBootstrapperExtension initialization failed");
32
33 pResults->pfnBootstrapperExtensionProc = BextBaseBootstrapperExtensionProc;
34 pResults->pvBootstrapperExtensionProcContext = pExtension;
35
36 *ppBootstrapperExtension = pExtension;
37 pExtension = NULL;
38
39 LExit:
40 ReleaseObject(pExtension);
41 return hr;
42 }