mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 | 
						|
Entry point for the Windows NT DLL.
 | 
						|
 | 
						|
About the only reason for having this, is so initall() can automatically
 | 
						|
be called, removing that burden (and possible source of frustration if
 | 
						|
forgotten) from the programmer.
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include "Python.h"
 | 
						|
#include "windows.h"
 | 
						|
 | 
						|
#ifdef Py_ENABLE_SHARED
 | 
						|
#ifdef MS_DLL_ID
 | 
						|
// The string is available at build, so fill the buffer immediately
 | 
						|
char dllVersionBuffer[16] = MS_DLL_ID;
 | 
						|
#else
 | 
						|
char dllVersionBuffer[16] = ""; // a private buffer
 | 
						|
#endif
 | 
						|
 | 
						|
// Python Globals
 | 
						|
HMODULE PyWin_DLLhModule = NULL;
 | 
						|
const char *PyWin_DLLVersionString = dllVersionBuffer;
 | 
						|
 | 
						|
BOOL    WINAPI  DllMain (HANDLE hInst,
 | 
						|
                                                ULONG ul_reason_for_call,
 | 
						|
                                                LPVOID lpReserved)
 | 
						|
{
 | 
						|
    switch (ul_reason_for_call)
 | 
						|
    {
 | 
						|
        case DLL_PROCESS_ATTACH:
 | 
						|
            PyWin_DLLhModule = hInst;
 | 
						|
#ifndef MS_DLL_ID
 | 
						|
            // If we have MS_DLL_ID, we don't need to load the string.
 | 
						|
            // 1000 is a magic number I picked out of the air.  Could do with a #define, I spose...
 | 
						|
            LoadString(hInst, 1000, dllVersionBuffer, sizeof(dllVersionBuffer));
 | 
						|
#endif
 | 
						|
            break;
 | 
						|
 | 
						|
        case DLL_PROCESS_DETACH:
 | 
						|
            break;
 | 
						|
    }
 | 
						|
    return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
#endif /* Py_ENABLE_SHARED */
 |