summaryrefslogtreecommitdiffstats
path: root/src/polypcore/dllmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/polypcore/dllmain.c')
-rw-r--r--src/polypcore/dllmain.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/polypcore/dllmain.c b/src/polypcore/dllmain.c
index d1d120ab..95473b06 100644
--- a/src/polypcore/dllmain.c
+++ b/src/polypcore/dllmain.c
@@ -34,12 +34,21 @@
extern pa_set_root(HANDLE handle);
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
- if (fdwReason != DLL_PROCESS_ATTACH)
- return TRUE;
+ WSADATA data;
- if (!pa_set_root(hinstDLL))
- return FALSE;
+ switch (fdwReason) {
+ case DLL_PROCESS_ATTACH:
+ if (!pa_set_root(hinstDLL))
+ return FALSE;
+ WSAStartup(MAKEWORD(2, 0), &data);
+ break;
+
+ case DLL_PROCESS_DETACH:
+ WSACleanup();
+ break;
+
+ }
return TRUE;
}