我是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)。方法声明是正确的。在这个问题上有什么可以帮助的吗?提前谢谢。
问候
Pavan Kumar A.
发布于 2010-10-01 20:26:23
这在JNA3.2.7中实现为com.sun.jna.platform.win32.Netapi32.DsGetDcName.使用Netapi32Util.DsGetDcName,它是一个简化的包装器。
https://stackoverflow.com/questions/1980092
复制相似问题