使用JNA与CoSetProxyBlanket的COAUTHIDENTITY

时间:2018-08-19 13:27:00

标签: java wmi jna

我正在尝试编写一个Java API,该Java API使用JNA与远程计算机与WMI通信(提供的用户名和密码)。
为此,我想创建COAUTHIDENTITY对象并将其与Java中的CoSetProxyBlanket一起使用。
我要移植的代码是here
任何帮助,将不胜感激。

1 个答案:

答案 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;
}