diff options
Diffstat (limited to 'src/ext/Bal/test/examples/TestEngine/TestEngine.cpp')
-rw-r--r-- | src/ext/Bal/test/examples/TestEngine/TestEngine.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp b/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp index 4c7ec1c3..5c6ed398 100644 --- a/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/TestEngine.cpp | |||
@@ -147,10 +147,18 @@ HRESULT TestEngine::SimulateQuit( | |||
147 | return BAEngineQuit(&args, &results); | 147 | return BAEngineQuit(&args, &results); |
148 | } | 148 | } |
149 | 149 | ||
150 | void TestEngine::UnloadBA() | 150 | void TestEngine::UnloadBA( |
151 | __in BOOL fReload | ||
152 | ) | ||
151 | { | 153 | { |
152 | PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL; | 154 | PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL; |
153 | BOOL fDisableUnloading = m_pCreateResults && m_pCreateResults->fDisableUnloading; | 155 | BOOTSTRAPPER_DESTROY_ARGS args = { }; |
156 | BOOTSTRAPPER_DESTROY_RESULTS results = { }; | ||
157 | |||
158 | args.cbSize = sizeof(args); | ||
159 | args.fReload = fReload; | ||
160 | |||
161 | results.cbSize = sizeof(results); | ||
154 | 162 | ||
155 | ReleaseNullMem(m_pCreateResults); | 163 | ReleaseNullMem(m_pCreateResults); |
156 | 164 | ||
@@ -158,12 +166,12 @@ void TestEngine::UnloadBA() | |||
158 | 166 | ||
159 | if (pfnDestroy) | 167 | if (pfnDestroy) |
160 | { | 168 | { |
161 | pfnDestroy(); | 169 | pfnDestroy(&args, &results); |
162 | } | 170 | } |
163 | 171 | ||
164 | if (m_hBAModule) | 172 | if (m_hBAModule) |
165 | { | 173 | { |
166 | if (!fDisableUnloading) | 174 | if (!results.fDisableUnloading) |
167 | { | 175 | { |
168 | ::FreeLibrary(m_hBAModule); | 176 | ::FreeLibrary(m_hBAModule); |
169 | } | 177 | } |