aboutsummaryrefslogtreecommitdiff
path: root/libs/usvfs/test/tinjectlib_test/testinject_dll/main.cpp
blob: 8339e97c5f05c6529948e9c67cacc96181ed88cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "main.h"

void __cdecl InitNoQuit(LPVOID, size_t)
{
  // nop
}

void __cdecl InitNoParam(LPVOID, size_t)
{
  ExitProcess(10001);
}

void __cdecl InitComplexParam(LPVOID userData, size_t)
{
  LPCWSTR string = (LPCWSTR)userData;
  if (wcscmp(string, L"magic_parameter") == 0) {
    ExitProcess(10002);
  } else {
    ExitProcess(20003);
  }
}

BOOL APIENTRY DllMain(HMODULE, DWORD reasonForCall, LPVOID)
{
  switch (reasonForCall) {
  case DLL_PROCESS_ATTACH: {
  } break;
  case DLL_PROCESS_DETACH: {
  } break;
  case DLL_THREAD_ATTACH: {
  } break;
  case DLL_THREAD_DETACH: {
  } break;
  }
  return TRUE;
}