// libIvy.cpp : Defines the initialization routines for the DLL. // #include "IvyStdAfx.h" BOOL APIENTRY DllMain(HANDLE hInstance, DWORD dwReason, LPVOID lpReserved) { // Remove this if you use lpReserved UNREFERENCED_PARAMETER(lpReserved); if (dwReason == DLL_PROCESS_ATTACH) { TRACE("IVY.DLL Initializing!\n"); // Extension DLL one-time initialization WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 0 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { /* Tell the user that we could not find a usable */ /* WinSock DLL. */ return 0; } } else if (dwReason == DLL_PROCESS_DETACH) { TRACE("IVY.DLL Terminating!\n"); // Terminate the library before destructors are called WSACleanup(); } return 1; // ok }