| Guido van Rossum | 6dbd190 | 1996-08-21 15:03:37 +0000 | [diff] [blame] | 1 | /* | 
 | 2 |  | 
 | 3 | Entry point for the Windows NT DLL. | 
 | 4 |  | 
 | 5 | About the only reason for having this, is so initall() can automatically | 
 | 6 | be called, removing that burden (and possible source of frustration if  | 
 | 7 | forgotten) from the programmer. | 
 | 8 |  | 
 | 9 | */ | 
 | 10 | #include "windows.h" | 
 | 11 |  | 
 | 12 | /* NT and Python share these */ | 
| Martin v. Löwis | 4f1cd8b | 2001-07-26 13:41:06 +0000 | [diff] [blame] | 13 | #include "pyconfig.h" | 
| Guido van Rossum | a1ebdbd | 1997-05-05 22:18:50 +0000 | [diff] [blame] | 14 | #include "Python.h" | 
| Guido van Rossum | 6dbd190 | 1996-08-21 15:03:37 +0000 | [diff] [blame] | 15 |  | 
| Guido van Rossum | ec68092 | 1997-09-29 23:37:12 +0000 | [diff] [blame] | 16 | char dllVersionBuffer[16] = ""; // a private buffer | 
 | 17 |  | 
 | 18 | // Python Globals | 
| Guido van Rossum | 6dbd190 | 1996-08-21 15:03:37 +0000 | [diff] [blame] | 19 | HMODULE PyWin_DLLhModule = NULL; | 
| Guido van Rossum | ec68092 | 1997-09-29 23:37:12 +0000 | [diff] [blame] | 20 | const char *PyWin_DLLVersionString = dllVersionBuffer; | 
 | 21 |  | 
| Guido van Rossum | 6dbd190 | 1996-08-21 15:03:37 +0000 | [diff] [blame] | 22 |  | 
 | 23 | BOOL	WINAPI	DllMain (HANDLE hInst,  | 
 | 24 | 						ULONG ul_reason_for_call, | 
 | 25 | 						LPVOID lpReserved) | 
 | 26 | { | 
 | 27 | 	switch (ul_reason_for_call) | 
 | 28 | 	{ | 
 | 29 | 		case DLL_PROCESS_ATTACH: | 
 | 30 | 			PyWin_DLLhModule = hInst; | 
| Guido van Rossum | ec68092 | 1997-09-29 23:37:12 +0000 | [diff] [blame] | 31 | 			// 1000 is a magic number I picked out of the air.  Could do with a #define, I spose... | 
 | 32 | 			LoadString(hInst, 1000, dllVersionBuffer, sizeof(dllVersionBuffer)); | 
| Guido van Rossum | a1ebdbd | 1997-05-05 22:18:50 +0000 | [diff] [blame] | 33 | 			//initall(); | 
| Guido van Rossum | 6dbd190 | 1996-08-21 15:03:37 +0000 | [diff] [blame] | 34 | 			break; | 
 | 35 | 		case DLL_PROCESS_DETACH: | 
 | 36 | 			break; | 
 | 37 | 	} | 
 | 38 | 	return TRUE; | 
 | 39 | } |