I am trying to access a 32-bit DLL via 64-bit Python. Several of the functions in the DLL need access to variables via pointers. I do this by first creating a numpy array, and then passing its pointer via ctypes as such:
arr = np.array([0], dtype=np.uint32)
my_c_func(arr.ctypes.data)
This used to work perfectly in Windows 7, but since upgrading to Windows 10, the memory addresses seem to have changed to 64-bit values. Is there any way to create a 32-bit pointer, or alternatively to convert a 64-bit pointer to a 32-bit pointer?