NetTunnelWindows/NetTunnelSDK/dllmain.cpp

30 lines
979 B
C++

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include "tunnel.h"
#include <objbase.h>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
CoInitialize(nullptr);
CoInitializeSecurity(nullptr,
-1,
nullptr,
nullptr,
RPC_C_AUTHN_LEVEL_PKT,
RPC_C_IMP_LEVEL_IMPERSONATE,
nullptr,
EOAC_NONE,
nullptr);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
TunnelSDKUnInit();
CoFreeUnusedLibraries();
break;
default:
break;
}
return TRUE;
}