Path: blob/master/samples/winrt/ImageManipulations/MediaExtensions/OcvTransform/dllmain.cpp
16344 views
//////////////////////////////////////////////////////////////////////////1//2// dllmain.cpp3//4// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF5// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO6// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A7// PARTICULAR PURPOSE.8//9// Copyright (c) Microsoft Corporation. All rights reserved.10//11//////////////////////////////////////////////////////////////////////////1213#include <initguid.h>14#include "OcvTransform.h"1516using namespace Microsoft::WRL;1718namespace Microsoft { namespace Samples {19ActivatableClass(OcvImageManipulations);20}}2122BOOL WINAPI DllMain( _In_ HINSTANCE hInstance, _In_ DWORD dwReason, _In_opt_ LPVOID lpReserved )23{24if( DLL_PROCESS_ATTACH == dwReason )25{26//27// Don't need per-thread callbacks28//29DisableThreadLibraryCalls( hInstance );3031Module<InProc>::GetModule().Create();32}33else if( DLL_PROCESS_DETACH == dwReason )34{35Module<InProc>::GetModule().Terminate();36}3738return TRUE;39}4041HRESULT WINAPI DllGetActivationFactory( _In_ HSTRING activatibleClassId, _Outptr_ IActivationFactory** factory )42{43auto &module = Microsoft::WRL::Module< Microsoft::WRL::InProc >::GetModule();44return module.GetActivationFactory( activatibleClassId, factory );45}4647HRESULT WINAPI DllCanUnloadNow()48{49auto &module = Microsoft::WRL::Module<Microsoft::WRL::InProc>::GetModule();50return (module.Terminate()) ? S_OK : S_FALSE;51}5253STDAPI DllGetClassObject( _In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID FAR* ppv )54{55auto &module = Microsoft::WRL::Module<Microsoft::WRL::InProc>::GetModule();56return module.GetClassObject( rclsid, riid, ppv );57}585960