diff options
Diffstat (limited to 'libs/usvfs/test/tinjectlib_test/testinject_dll')
| -rw-r--r-- | libs/usvfs/test/tinjectlib_test/testinject_dll/main.cpp | 36 | ||||
| -rw-r--r-- | libs/usvfs/test/tinjectlib_test/testinject_dll/main.h | 11 |
2 files changed, 47 insertions, 0 deletions
diff --git a/libs/usvfs/test/tinjectlib_test/testinject_dll/main.cpp b/libs/usvfs/test/tinjectlib_test/testinject_dll/main.cpp new file mode 100644 index 0000000..8339e97 --- /dev/null +++ b/libs/usvfs/test/tinjectlib_test/testinject_dll/main.cpp @@ -0,0 +1,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; +} diff --git a/libs/usvfs/test/tinjectlib_test/testinject_dll/main.h b/libs/usvfs/test/tinjectlib_test/testinject_dll/main.h new file mode 100644 index 0000000..6faf800 --- /dev/null +++ b/libs/usvfs/test/tinjectlib_test/testinject_dll/main.h @@ -0,0 +1,11 @@ +#pragma once + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + +extern "C" + __declspec(dllexport) void __cdecl InitNoQuit(LPVOID userData, size_t userDataSize); +extern "C" __declspec(dllexport) void __cdecl InitNoParam(LPVOID userData, + size_t userDataSize); +extern "C" __declspec(dllexport) void __cdecl InitComplexParam(LPVOID userData, + size_t userDataSize); |
