ctypes: построить указатель из произвольного целого числа

Для низкоуровневых целей мне нужно построить указатель ctypes из произвольного адреса, заданного как целое число. Например:

INTP = ctypes.POINTER(ctypes.c_int)
p = INTP(0x12345678) # i *know* this is the address

Но все такие попытки приводят к

TypeError: expected c_long instead of int

Могу ли я что-нибудь сделать, чтобы преодолеть это? Если кто-то задается вопросом, зачем мне это нужно, это сделано для того, чтобы извлечь структуру OVERLAPPED из win32file.PyOVERLAPPED , для интеграции функций, представленных ctypes, с API, обернутыми в win32file.

Спасибо,
-Tomer

21
задан sebulba 25 April 2011 в 22:03
поделиться