The R_DhcpGetSuperScopeInfoV4 method retrieves all the superscope information from the DHCPv4 server. The caller of this function can free the memory pointed to by the SuperScopeTable parameter and its member the pEntries array by calling the function midl_user_free (section 3).
DWORD R_DhcpGetSuperScopeInfoV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDHCP_SUPER_SCOPE_TABLE* SuperScopeTable );
ServerIpAddress: The IP address/host name of the DHCP server. This parameter is unused.
SuperScopeTable: It is a pointer to type LPDHCP_SUPER_SCOPE_TABLE that points to a location that contains the information for all the superscopes.
Return Values: A 32-bit unsigned integer value that indicates return status. A return value ERROR_SUCCESS (0x00000000) indicates that the operation was completed successfully, else it contains a Win32 error code, as specified in [MS-ERREF]. This error code value can correspond to a DHCP-specific failure, which takes a value between 20000 and 20099, or any generic failure.
|
Return value/code |
Description |
|---|---|
|
0x00000000 ERROR_SUCCESS |
The call was successful. |
The opnum field value for this method is 37.
When processing this call, the DHCP server MUST do the following:
Validate the SuperScopeTable parameter and return ERROR_INVALID_PARAMETER if the parameter is NULL.
Validate if this method is authorized for read access per section 3.5.4. If not, return ERROR_ACCESS_DENIED.
Validate if the machine has enough memory to allocate for returning the valid information, and return ERROR_NOT_ENOUGH_MEMORY if there is insufficient memory in the system.
If there are no entries in the server ADM element DHCPv4ScopesList, return ERROR_SUCCESS.
Iterate through the DHCPv4ScopesList ADM element, and find whether the subnet has a superscope by using the DHCPv4Scope.SuperScopeId ADM element. If the DHCPv4Scope.SuperScopeId ADM element is nonzero, retrieve the corresponding DHCPv4SuperScope ADM element entry from the DHCPv4SuperScopesList ADM element.
For every subnet under the superscope, calculate the NextInSuperScope member as the SubnetAddress ADM element member of the DHCPv4Scope ADM element entry whose SuperScopeId ADM element matches the current subnet's superscope ID.
Return the total number of subnets and the retrieved information in the SuperScopeTable out parameter.
Exceptions Thrown: No exceptions SHOULD be thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].