【问题标题】:JNA - DsGetDcNameAJNA - DsGetDcNameA
【发布时间】:2009-12-30 13:01:19
【问题描述】:

我是 JNA 新手,我想将 DsGetDcName 方法转换为 JNA。

DWORD DsGetDcName(
  __in   LPCTSTR ComputerName,
  __in   LPCTSTR DomainName,
  __in   GUID *DomainGuid,
  __in   LPCTSTR SiteName,
  __in   ULONG Flags,
  __out  PDOMAIN_CONTROLLER_INFO *DomainControllerInfo
);

我已将上述函数转换为 JNA 我将上面的参数替换为如下

public static class GUID extends Structure {
    public int Data1;
    public short  Data2;
    public short  Data3;
    public byte  Data4[]= new byte[8];
}

public static class DOMAIN_CONTROLLER_INFO extends Structure { 
    public String DomainControllerName;
    public String DomainControllerAddress;
    public int DomainControllerAddressType;
    public GUID DomainGuid; // created Structure above
    public String DomainName;
    public String DnsForestName;
    public int Flags;
    public String DcSiteName;
    public String ClientSiteName;
}

int DsGetDCName(
    String strComputerName,
    String strDomainName,
    GUID DomainGuid, // static class created extending with structure
    String strSiteName,
    int iFlags,
    DOMAIN_CONTROLLER_INFO  DomainControllerInfo // static class created extending with structure
);

上述函数返回997 Error (ERROR IO PENDING)。 方法声明是正确的。可以在这个问题上提供任何帮助吗? 提前致谢。

问候

帕万库马尔 A.

【问题讨论】:

  • 函数返回成功? GUIDDOMAIN_CONTROLLER_INFO 类型应该是指向结构的指针...

标签: java jna netapi32


【解决方案1】:

这在 JNA 3.2.7 中实现为 com.sun.jna.platform.win32.Netapi32.DsGetDcName。使用 Netapi32Util.DsGetDcName,它是一个简化的包装器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 2020-04-23
    • 2010-09-27
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多