擅长:python、mysql、java
<p>通常,我使用如下方法创建错误消息缓冲区:</p>
<pre><code>error_buf_size = ctypes.create_string_buffer(10) # creates a buffer
pErrorInfo = ctypes.c_char_p(ctypes.addressof(error_buf_size)) # creates a pErrorInfo from the error buffer
# And when passing in the function make sure to wrap in the ctypes.byref
result = lib.VCS_GetErrorInfo(wintypes.DWORD(0), ctypes.byref(pErrorInfo), wintypes.WORD(10))
# Later to get the value of the error string
if pErrorInfo.value:
print (pErrorInfo.value)
</code></pre>
<p>检查<code>ctypes</code>文档中的<a href="https://docs.python.org/2/library/ctypes.html#ctypes.byref" rel="nofollow">byref</a>和<a href="https://docs.python.org/2/library/ctypes.html#ctypes.addressof" rel="nofollow">addressof</a></p>