実現したいこと
共有メモリを使ってPythonと他言語でのデータ共有をしたいと思っています。
共有したいデータは
x1, y1, z1, x2, y2, z2, x3, y3, z3, ...
のような3次元の座標の集まりです。
PythonからWindowsAPIを使ってファイルマッピングをしようと思ったのですが、
ポインタの先に値を書き込む方法がわからず、つまづいています。
解決方法がありましたら教えていただけると嬉しいです。
該当のソースコード
python
1import ctypes 2import ctypes.wintypes 3 4kernel32 = ctypes.windll.kernel32 5 6#ファイルマッピングオブジェクトの生成 7p_handle = kernel32.CreateFileMappingW(-1, None, 4, 0, 1024, "SharedMemoryTest") 8 9#マッピングオブジェクトのハンドルを取得 10aHandle = kernel32.OpenFileMappingW(2, False, "SharedMemoryTest") 11 12if aHandle != 0: 13 #ビューを取得 14 aPointer = kernel32.MapViewOfFile(aHandle, 2, 0, 0, 1024) 15 if aPointer != None: 16 #ビューに書き込む処理 17 #ここで詰まってます 18 19 kernel32.UnmapViewOfFile(aPointer) 20 kernel32.CloseHandle(aHandle) 21 22kernel32.CloseHandle(p_handle)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。