更新时间:2025-03-28 GMT+08:00
分享

设置管理面域名对应的保底ip地址

SetGlobalGuaranteedIpAddresses

接口描述

该接口用于设置管理面域名对应的保底ip地址。

注意事项

  1. 该接口非必需调用,若不设置,则使用默认的保底ip。
  2. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。

方法定义

HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetGlobalGuaranteedIpAddresses(const HwmGuaranteedIpAddressesParam* guaranteedIpAddressesParam);

回调函数

virtual void OnSetGlobalGuaranteedIpAddressesResult(hwmsdk::HwmErrCode ret, const char* reason) {};

参数描述

表1 HwmGuaranteedIpAddressesParam参数说明

参数

是否必须

类型

描述

addressListSize

unsigned int

保底ip信息list长度。

addressList

HwmGuaranteedIpAddress

保底ip信息列表。

表2 HwmGuaranteedIpAddress参数说明

参数

是否必须

类型

描述

domain

char[]

域名。

guaranteedIps

char[]

保底ip列表,多个地址中间用分号隔开,最多支持4个地址。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/**
*  设置管理面域名对应的保底ip地址
*/
void demoSetGlobalGuaranteedIpAddressesDlg::OnBnClickedButtonOk()
{
    hwmsdkagent::HwmGuaranteedIpAddressesParam param{};
    param.addressListSize = 3;
    param.addressList = new hwmsdkagent::HwmGuaranteedIpAddress[param.addressListSize]{};
    if (param.addressList == nullptr)
    {
        return;
    }

    // 第一组设置
    // 域名
    CString domainCString;
    m_domainEdit.GetWindowText(domainCString);
    string domainString = CTools::UNICODE2UTF(domainCString.GetString());

    // 保底ip列表
    CString guaranteedIpsCString;
    m_guaranteedIpsEdit.GetWindowText(guaranteedIpsCString);
    string guaranteedIpsString = CTools::UNICODE2UTF(guaranteedIpsCString.GetString());

    errno_t copyRet = strncpy_s(param.addressList[0].domain, domainString.c_str(), sizeof(param.addressList[0].domain)-1);
    copyRet += strncpy_s(param.addressList[0].guaranteedIps, guaranteedIpsString.c_str(), sizeof(param.addressList[0].guaranteedIps)-1);

    // 第二组设置
    // 域名
    CString domain1CString;
    m_domain1Edit.GetWindowText(domain1CString);
    string domain1String = CTools::UNICODE2UTF(domain1CString.GetString());

    // 保底ip列表
    CString guaranteedIps1CString;
    m_guaranteedIps1Edit.GetWindowText(guaranteedIps1CString);
    string guaranteedIps1String = CTools::UNICODE2UTF(guaranteedIps1CString.GetString());

    copyRet += strncpy_s(param.addressList[1].domain, domain1String.c_str(), sizeof(param.addressList[1].domain)-1);
    copyRet += strncpy_s(param.addressList[1].guaranteedIps, guaranteedIps1String.c_str(), sizeof(param.addressList[1].guaranteedIps)-1);

    // 第三组设置
    // 域名
    CString domain2CString;
    m_domain2Edit.GetWindowText(domain2CString);
    string domain2String = CTools::UNICODE2UTF(domain2CString.GetString());

    // 保底ip列表
    CString guaranteedIps2CString;
    m_guaranteedIps2Edit.GetWindowText(guaranteedIps2CString);
    string guaranteedIps2String = CTools::UNICODE2UTF(guaranteedIps2CString.GetString());

    copyRet += strncpy_s(param.addressList[2].domain, domain2String.c_str(), sizeof(param.addressList[2].domain)-1);
    copyRet += strncpy_s(param.addressList[2].guaranteedIps, guaranteedIps2String.c_str(), sizeof(param.addressList[2].guaranteedIps)-1);

    if (copyRet != 0)
    {
        AfxMessageBox(_T("copy error"));
    }

    hwmsdk::HwmErrCode ret = hwmsdkagent::SetGlobalGuaranteedIpAddresses(&param);

    // 释放内存空间
    if (param.addressList != nullptr)
    {
        delete[] param.addressList;
        param.addressList = nullptr;
    }

    if (ret != hwmsdk::HWM_COMMON_SUCCESS)
    {
        CTools::OutputRetStr("SetGlobalGuaranteedIpAddresses error");
        return;
    }

    CDialogEx::OnOK();
}

相关文档