在将其他几个标头映射Vss.h到 Java/JNA 之后(请参阅此问题),我正在尝试运行一些 COM 对象方法并在调试它们时遇到问题。
我不知道我调用的是正确的方法还是具有类似参数的方法。我在此处的 JNA 文档中找到了一些错误代码,但它不包括我看到的所有错误。
一些例子:
// gather writer metadata
public int GatherWriterMetadata(IVssAsync pAsync)
{
return _invokeNativeInt( 5, new Object[] { getPointer(), pAsync });
}
我有错误-2147212542
为了
// Called to set the context for subsequent snapshot-related operations
public int SetContext(WinDef.LONG lContext)
{
return _invokeNativeInt( 32, new Object[] { getPointer(), lContext });
}
我有 java.lang.Error: Invalid memory access at com.sun.jna.Native.invokeInt(Native Method)
我尝试为 SetContext 方法使用像 31,32 和 33 这样的数字。