dhcprequestParams 函数 (dhcpcsdk.h)
DhcpRequestParams 函数使调用方能够从 DHCP 服务器同步或同步且持久地获取 DHCP 数据。
语法
DWORD DhcpRequestParams(
[in] DWORD Flags,
[in] LPVOID Reserved,
[in] LPWSTR AdapterName,
[in] LPDHCPCAPI_CLASSID ClassId,
[in] DHCPCAPI_PARAMS_ARRAY SendParams,
[in, out] DHCPCAPI_PARAMS_ARRAY RecdParams,
[in] LPBYTE Buffer,
[in, out] LPDWORD pSize,
[in] LPWSTR RequestIdStr
);
参数
[in] Flags
指定所请求数据的标志。 此参数是可选的。 支持以下可能的值,并且不互斥:
Value | 含义 |
---|---|
|
请求将持久保存,但不会提取任何选项。 |
|
将从服务器中提取选项。 |
[in] Reserved
保留供将来使用。 必须设置为 NULL。
[in] AdapterName
正在对其生成请求数据的适配器的 GUID。 长度必须低于 256 个字符。
[in] ClassId
类标识符 (在 DHCP INFORM 消息传输到网络上时应使用的 ID) 。 此参数是可选的。
[in] SendParams
除 RecdParams 数组中请求的数据外,要请求的可选数据。 SendParams 参数不能包含 DHCP 客户端默认发送的任何标准选项。
[in, out] RecdParams
调用方想要接收的 DHCP 数据数组。 在 调用 DhcpRequestParams 函数之前,此数组必须为空。
[in] Buffer
用于存储与 RecdParams 中发出的请求关联的数据的缓冲区。
[in, out] pSize
缓冲区的大小。
缓冲区的所需大小(如果大小不足以容纳数据),否则指示已成功填充的缓冲区的大小。
[in] RequestIdStr
应用程序标识符 (ID) 用于促进持久请求。 必须是无特殊字符的可打印字符串, (逗号、反斜杠、冒号或其他非法字符不得用于) 。 指定的应用程序标识符 (ID) 在后续 DhcpUndoRequestParams 函数调用中使用,以根据需要清除永久性请求。
返回值
成功完成后返回ERROR_SUCCESS。
返回后, RecdParams 将用指向请求数据的指针填充,相应的数据放置在 Buffer 中。 如果 pSize 指示 Buffer 没有足够的空间来存储返回的数据, 则 DhcpRequestParams 函数将返回ERROR_MORE_DATA,并在 pSize 中返回所需的缓冲区大小。 请注意,在初始函数调用的返回和后续调用之间,所需的缓冲区大小可能会增加;因此,pSize) 中指示的缓冲区 (所需大小指示缓冲区所需的近似大小,而不是保证如果 Buffer 设置为 pSize 中指示的大小,后续调用将成功返回。
其他错误返回相应的 Windows 错误代码。
返回代码 | 说明 |
---|---|
|
如果 AdapterName 参数的长度超过 256 个字符,则返回 。 |
|
如果 AdapterName 参数的长度超过 256 个字符,则返回 。 |
备注
DHCP 客户端将从 DHCP 服务器获取的数据存储在其本地缓存中。 如果 DHCP 客户端缓存包含 DhcpRequestParams 函数调用的 RecdParams 数组中请求的所有数据,则客户端会从其缓存中返回数据。 如果请求的数据在客户端缓存中不可用,则客户端通过向 DHCP 服务器提交 DHCP-INFORM 消息来处理 DhcpRequestParams 函数调用。
当客户端将 DHCP-INFORM 消息提交到 DHCP 服务器时,它将包括可选 SendParams 参数中提供的任何请求,并提供 ClassId 参数中指定的类标识符 (ID) (如果提供)。
客户端还可以指定每次 DHCP 客户端启动时从 DHCP 服务器检索 DHCP 数据,这被视为永久性请求。 若要启用永久性请求,调用方必须指定 RequestIdStr 参数,并在 dwFlags 参数中指定其他 DHCPAPI_REQUEST_PERSISTENT 标志。 当客户端需要在每次启动时自动请求应用程序关键信息时,这种持久请求功能特别有用。 若要禁用持久化请求,客户端必须调用 函数。
若要查看正在使用的 DhcpRequestParams 函数,请参阅 DHCP 示例。
要求
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dhcpcsdk.h |
Library | Dhcpcsvc.lib |
DLL | Dhcpcsvc.dll |