Help Center/ Meeting/ Client SDK Reference/ Windows SDK/ APIs/ Basic Settings/ Setting Guaranteed IP Addresses of the Management Plane Domain Name
Updated on 2025-04-18 GMT+08:00

Setting Guaranteed IP Addresses of the Management Plane Domain Name

SetGlobalGuaranteedIpAddresses

API Description

This API is used to set the guaranteed IP addresses of the management plane domain name.

Precautions

  1. This API is optional. If it is not called, the default IP address is used.
  2. This API is an asynchronous API. The return value only indicates whether the API is successfully called. The actual service processing result is returned in the corresponding callback function.

Method Definition

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

Callback Function

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

Parameter Description

Table 1 HwmGuaranteedIpAddressesParam description

Parameter

Mandatory

Type

Description

addressListSize

Yes

unsigned int

Number of guaranteed IP addresses.

addressList

Yes

HwmGuaranteedIpAddress

List of guaranteed IP addresses.

Table 2 HwmGuaranteedIpAddress description

Parameter

Mandatory

Type

Description

domain

Yes

char[]

Domain name.

guaranteedIps

Yes

char[]

Guaranteed IP addresses. Enter up to four IP addresses and separate them by semicolons (;).

Sample Code

 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
/**
* Set guaranteed IP addresses of the management plane domain name.
*/
void demoSetGlobalGuaranteedIpAddressesDlg::OnBnClickedButtonOk()
{
    hwmsdkagent::HwmGuaranteedIpAddressesParam param{};
    param.addressListSize = 3;
    param.addressList = new hwmsdkagent::HwmGuaranteedIpAddress[param.addressListSize]{};
    if (param.addressList == nullptr)
    {
        return;
    }

    // Setting 1
    // Domain name
    CString domainCString;
    m_domainEdit.GetWindowText(domainCString);
    string domainString = CTools::UNICODE2UTF(domainCString.GetString());

    // List of guaranteed IP addresses
    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);

    // Setting 2
    // Domain name
    CString domain1CString;
    m_domain1Edit.GetWindowText(domain1CString);
    string domain1String = CTools::UNICODE2UTF(domain1CString.GetString());

    // List of guaranteed IP addresses
    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);

    // Setting 3
    // Domain name
    CString domain2CString;
    m_domain2Edit.GetWindowText(domain2CString);
    string domain2String = CTools::UNICODE2UTF(domain2CString.GetString());

    // List of guaranteed IP addresses
    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);

    // Release memory space.
    if (param.addressList != nullptr)
    {
        delete[] param.addressList;
        param.addressList = nullptr;
    }

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

    CDialogEx::OnOK();
}