The R_DhcpGetAllOptionValuesV6 method returns all option values for all user classes and vendor classes configured at the server, scope, or IPv6 reservation level on the DHCPv6 server. The caller of this function can free the memory pointed to by option Values by calling the function midl_user_free (section 3).
DWORD R_DhcpGetAllOptionValuesV6( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DWORD Flags, [in] LPDHCP_OPTION_SCOPE_INFO6 ScopeInfo, [out] LPDHCP_ALL_OPTION_VALUES* Values );
ServerIpAddress: The IP address/host name of the DHCP server. This parameter is unused.
Flags: This field MUST be set to zero. Currently it is not used, and any value set to this parameter will not affect the behavior of this method.
ScopeInfo: This is a pointer to a DHCP_OPTION_SCOPE_INFO6 (section 2.2.1.2.30) structure that contains information describing the DHCPv6 scope for which the option values are retrieved. If this value is DhcpDefaultOptions6 the option values are retrieved at the server level, if this value is DhcpScopeOptions6 the option values are retrieved at the scope level, while if this value is DhcpReservedOptions6 the option values are retrieved at the reservations level.
Values: This is a pointer of type LPDHCP_ALL_OPTION_VALUES that points to the location that contains all the option values retrieved from the DHCPv6 server at the server, scope, or IPv6 reservation level, depending on the ScopeType defined in ScopeInfo.
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 56.
When processing this call the DHCP server MUST do the following:
If ScopeInfo is NULL or Values is NULL, return ERROR_INVALID_PARAMETER.
Validate that this method is authorized for read access per section 3.5.4. If not, return the error ERROR_ACCESS_DENIED.
If the ScopeType field of ScopeInfo contains DhcpDefaultOptions6, retrieve DHCPv6ServerClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList objects for all the DHCPv6ClassedOptValue objects in DHCPv6ServerClassedOptValueList.
If the ScopeType field of ScopeInfo contains the value DhcpScopeOptions6 and the corresponding DHCPv6Scope object does not exist in DHCPv6ScopeList, return ERROR_FILE_NOT_FOUND.
If the ScopeType field of ScopeInfo contains DhcpScopeOptions6, retrieve DHCPv6Scope.DHCPv6ScopeClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList objects for all the DHCPv6ClassedOptValue objects in DHCPv6Scope.DHCPv6ScopeClassedOptValueList.
If the ScopeType field of ScopeInfo contains the value DhcpReservedOptions6 and the corresponding DHCPv6Scope object does not exist in DHCPv6ScopeList, return ERROR_FILE_NOT_FOUND.
If the ScopeType field of ScopeInfo contains DhcpReservedOptions6 and the corresponding DHCPv6Reservation object does not exist in DHCPv6Scope.DHCPv6ReservationList, return ERROR_SUCCESS.
If the ScopeType field of ScopeInfo contains DhcpReservedOptions6, retrieve the DHCPv6ScopeListDHCPv6Reservation.DHCPv6ResvClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList objects for all the DHCPv6ClassedOptValue objects in DHCPv6Reservation.DHCPv6ResvClassedOptValueList.
If the ScopeType field of ScopeInfo contains any value other than DhcpDefaultOptions6, DhcpScopeOptions6, or DhcpReservedOptions6, return ERROR_INVALID_PARAMETER.
Allocate the memory according to the number of DHCPv6OptionValue objects retrieved.
Copy the information in the DHCPv6OptionValue objects to the allocated memory, and return them to the caller.
Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].