The R_DhcpDeleteClassV6 method deletes the specified IPv6 user class or vendor class definition from the DHCPv6 server.
DWORD R_DhcpDeleteClassV6( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DWORD ReservedMustBeZero, [in, string, unique] WCHAR* ClassName );
ServerIpAddress: The IP address/host name of the DHCP server. This parameter is unused.
ReservedMustBeZero: This is of type DWORD and SHOULD be set to 0. Currently it is not used, and any value set to this parameter will not affect the behavior of this method.
ClassName: This is a pointer to WCHAR that contains the name of the class that needs to be deleted.
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. |
|
0x00004E2D ERROR_DHCP_JET_ERROR |
An error occurred while accessing the DHCP server database. |
|
0x00004E4C ERROR_DHCP_CLASS_NOT_FOUND |
The specified class is not defined in the DHCP server. |
The opnum field value for this method is 76.
When processing this call, the DHCP server MUST do the following:
If ClassName is NULL, return ERROR_INVALID_PARAMETER.
Validate if this method is authorized for read/write access per section 3.5.5. If not, return the error ERROR_ACCESS_DENIED.
Retrieve the DHCPv6ClassDefList object. If the DHCPv6ClassDef object indicated by ClassInfo is not in DHCPv6ClassDefList, return ERROR_DHCP_CLASS_NOT_FOUND.
Delete the DHCPv6ClassDef object found from DHCPv6ClassDefList.
Delete the DHCPv6OptionDef objects from DHCPv6ClassedOptionDefList.DHCPv6ClassedOptionDef.DHCPv6OptionDefList for all the DHCPv6ClassedOptionDef objects that have ClassName as either their DHCPv6UserClass or DHCPv6VendorClass.
Delete the DHCPv6OptionValue objects from DHCPv6ServerClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList for all the DHCPv6ClassedOptionDef objects that have ClassName as either their DHCPv6UserClass or DHCPv6VendorClass. Delete the DHCPv6OptionValue objects from DHCPv6Scope.DHCPv6ScopeClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList, for all DHCPv6Scope objects and for all the DHCPv6ClassedOptionDef objects that have ClassName as either their DHCPv6UserClass or DHCPv6VendorClass. Delete the DHCPv6OptionValue objects from DHCPv6Reservation.DHCPv6ResvClassedOptValueList.DHCPv6ClassedOptValue.DHCPv6OptionValueList, for all DHCPv6Reservation objects and for all the DHCPv6ClassedOptionDef objects that have ClassName as either their DHCPv6UserClass or DHCPv6VendorClass.
Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].