出于低级目的,我需要从任意地址构造一个ctypes指针,以整数形式给出。例如:
INTP = ctypes.POINTER(ctypes.c_int)
p = INTP(0x12345678) # i *know* this is the address
但所有这些尝试都导致
TypeError: expected c_long instead of int
有什么我能克服的吗?如果有人想知道我为什么需要这样做,可以从win32file.PyOVERLAPPED
中提取OVERLAPPED
结构,以便将ctypes公开的函数与win32file包装的API集成。
谢谢,
-绒毛
您可以使用
ctypes.cast(addr, type)
。我将扩展您的示例以通过已知对象获取地址,以演示:输出:
相关问题 更多 >
编程相关推荐