Staging
v0.8.1
https://github.com/python/cpython
Revision 2a899c8b767144e809418fd04f83e4e5789084cd authored by Thomas Heller on 11 August 2006, 19:55:35 UTC, committed by Thomas Heller on 11 August 2006, 19:55:35 UTC
storage before converting the result to C data.  See the comment in
the code for details.

Provide a better context for errors when the conversion of a callback
function's result cannot be converted.
1 parent 975c8bb
Raw File
Tip revision: 2a899c8b767144e809418fd04f83e4e5789084cd authored by Thomas Heller on 11 August 2006, 19:55:35 UTC
When a ctypes C callback function is called, zero out the result
Tip revision: 2a899c8
dl_nt.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 "windows.h"

/* NT and Python share these */
#include "pyconfig.h"
#include "Python.h"

char dllVersionBuffer[16] = ""; // a private buffer

// 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;
			// 1000 is a magic number I picked out of the air.  Could do with a #define, I spose...
			LoadString(hInst, 1000, dllVersionBuffer, sizeof(dllVersionBuffer));
			//initall();
			break;
		case DLL_PROCESS_DETACH:
			break;
	}
	return TRUE;
}
back to top