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 | } |
