我这边调用CLIENT_QueryNewSystemInfo方法返回非得rpc请求 使用java代码 官方的win64sdk 请问如何调整呢
int nChannelID = 0;
int dwOutBufferSize = 1024; // 输出缓冲区大小
byte[] szOutBuffer = new byte[1024];
IntByReference error = new IntByReference();
int waittime = 5000;
boolean b = LoginModule.netsdk.CLIENT_QueryNewSystemInfo(LoginModule.m_hLoginHandle, "RemoteDevice", nChannelID, szOutBuffer, dwOutBufferSize, error, waittime);
if(!b) {
System.err.printf("QueryPointTemper Failed!" + ToolKits.getErrorCodePrint());
}
要使用Java获取大华SDK设备状态,可以使用以下步骤:
DeviceManager dm = new DeviceManager();
int loginID = dm.login("192.168.1.100", 37777, "admin", "12345");
NET_DEVSTATE devState = new NET_DEVSTATE();
int nRet = dm.getNetSDK().CLIENT_GetDevState(loginID, FinalVar.SDK_DEVSTATE_COMM_ALARM, devState, 5000);
if (nRet == 0) {
System.out.println("设备状态获取失败,错误码:" + dm.getNetSDK().CLIENT_GetLastError());
} else {
System.out.println("设备状态获取成功,状态码:" +devState.dwValue);
}
在上述代码中,调用了DeviceManager对象的getNetSDK()方法来获取SDK对象,然后使用SDK对象调用CLIENT_GetDevState接口来获取设备状态。该接口需要传入登录ID、状态类型(例如通信报警、硬盘状态等)和状态信息结构体等参数,其中5000表示超时时间,可以根据需要进行调整。
dm.logout(loginID);
在实际使用中,需要根据具体需求来选择查询的设备状态类型,例如通信报警、硬盘状态、网络状态等。同时,需要注意设备状态查询的频率,避免过于频繁地查询影响设备性能。
求回答呀 遇到了同样的问题