winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 }