我正在尝试编写一个Java API,该Java API使用JNA与远程计算机与WMI通信(提供的用户名和密码)。
为此,我想创建COAUTHIDENTITY
对象并将其与Java中的CoSetProxyBlanket
一起使用。
我要移植的代码是here。
任何帮助,将不胜感激。
答案 0 :(得分:1)
您可以在接口类中映射COAUTHIDENTITY结构。似乎扩展了WTypesBase
的{{1}}可能是一个很好的类名,尽管您可以将其放在任何地方。
类型映射很简单:您看到的WTypes
可以是unsigned long
,但是由于这是仅Windows的代码,您可以使用NativeLong
,因为我们知道它是32位的。 int
指针是2字节(宽)字符的字符数组。只需使用unsigned short *
。
因此您的结构标题应为:
Pointer
(现场顺序映射留给读者练习。)
然后创建它:
class COAUTHIDENTITY extends Structure {
public Pointer User;
public int UserLength;
public Pointer Domain;
public int DomainLength;
public Pointer Password;
public int PasswordLength;
public int Flags;
}