dllmain.cpp (1090B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #include "pch.h" 4 #include <WindowsPackageManager.h> 5 #include <hstring.h> 6 7 EXTERN_C BOOL WINAPI DllMain( 8 HMODULE /* hModule */, 9 DWORD reason, 10 LPVOID /* lpReserved */) 11 { 12 switch (reason) 13 { 14 case DLL_PROCESS_ATTACH: 15 { 16 if (FAILED(WindowsPackageManagerInProcModuleInitialize())) 17 { 18 return FALSE; 19 } 20 } 21 break; 22 23 case DLL_PROCESS_DETACH: 24 { 25 WindowsPackageManagerInProcModuleTerminate(); 26 } 27 break; 28 29 default: 30 return TRUE; 31 } 32 return TRUE; 33 } 34 35 STDAPI DllGetClassObject( 36 REFCLSID rclsid, 37 REFIID riid, 38 LPVOID* ppv) 39 { 40 RETURN_HR(WindowsPackageManagerInProcModuleGetClassObject(rclsid, riid, ppv)); 41 } 42 43 STDAPI DllCanUnloadNow() 44 { 45 return WindowsPackageManagerInProcModuleTerminate() ? S_OK : S_FALSE; 46 } 47 48 STDAPI DllGetActivationFactory(HSTRING classId, void** factory) 49 { 50 return WindowsPackageManagerInProcModuleGetActivationFactory(classId, factory); 51 }