3 Protocol Details

No additional timers or other state is required on the client side of this protocol. Calls made by the higher-layer protocol or application are passed directly to the transport, and the results returned by the transport are passed directly back to the higher-layer protocol or application.

Two interfaces are supported by the DHCP server:

  • dhcpsrv (section 3.1) and its associated opnum methods.<17>

  • dhcpsrv2 (section 3.2) and its associated opnum methods.<18>

In both interfaces, the DHCP server allocates the memory for all the retrieved parameters from the DHCP server except where explicitly mentioned. The client frees the memory with the following call.

 midl_user_free (void __RPC_FAR * P)

P is a pointer to the memory block to be freed.

Distribution of opnums into two interfaces has no special significance. Some opnums in interface dhcpsrv2 have been extended as compared to opnums in dhcpsrv, or opnums with more functionality have been provided in interface dhcpsrv2.

When a method listed in any of these interfaces is called and the DHCP server is in an unresponsive state, then RPC throws an exception ranging between 1700 and1999. [MS-ERREF] lists these Win32 error codes (section 2.2).<19>