48 lines
1,000 B
C
48 lines
1,000 B
C
/*
|
|
File libmain.c
|
|
|
|
Contains lib main for mprapi.dll
|
|
|
|
Paul Mayfield, 5/7/98
|
|
*/
|
|
|
|
#include <windows.h>
|
|
#include "sdolib.h"
|
|
|
|
extern CRITICAL_SECTION DsrLock;
|
|
extern CRITICAL_SECTION CfgLock;
|
|
|
|
//
|
|
// Standard Win32 lib main function gets called
|
|
// as processes and threads attach and detach.
|
|
//
|
|
// Returns TRUE if successfull, false otherwise
|
|
//
|
|
BOOL MprLibMain(
|
|
IN HANDLE hinstDll,
|
|
IN DWORD fdwReason,
|
|
IN LPVOID lpReserved)
|
|
{
|
|
switch (fdwReason) {
|
|
case DLL_PROCESS_ATTACH:
|
|
try {
|
|
InitializeCriticalSection(&DsrLock);
|
|
InitializeCriticalSection(&CfgLock);
|
|
}
|
|
except (EXCEPTION_EXECUTE_HANDLER) {
|
|
return FALSE;
|
|
}
|
|
|
|
DisableThreadLibraryCalls(hinstDll);
|
|
break;
|
|
|
|
case DLL_PROCESS_DETACH:
|
|
DeleteCriticalSection(&DsrLock);
|
|
DeleteCriticalSection(&CfgLock);
|
|
break;
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|