1
Win32では、リソースが既に存在するかどうかを判断するためのテキストブックソリューションは、作成し、GetLastError()がERROR_ALREADY_EXISTSを返すかどうかを確認します。例えばPythonを使用して(Windows)メモリマップファイルが既に存在するかどうかを調べる方法
:Pythonで
HANDLE h = ::CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, size, name);
bool alreadyExists = (h != INVALID_HANDLE_VALUE) && (GetLastError() == ERROR_ALREADY_EXISTS);
、MMAPモジュールは、メモリマップ・ファイルをラップ。
しかし、次のコード:
INVALID_HANDLE_VALUE = -1
m = mmap.mmap(INVALID_HANDLE_VALUE, length=size, tagname=name)
print ctypes.get_last_error()
常に(命名)はmmapがすでに存在する場合でも、0を出力します。
上記のC/Win32コードをPythonでエミュレートする簡単な方法はありますか?