The DHCP_ALL_OPTIONS structure contains all the option definitions created on the DHCP server. This includes the vendor-specific option definition as well as the default vendor option definition. This structure is used in the R_DhcpGetAllOptions (section 3.2.4.30) method.
typedef struct _DHCP_ALL_OPTIONS {
DWORD Flags;
LPDHCP_OPTION_ARRAY NonVendorOptions;
DWORD NumVendorOptions;
[size_is(NumVendorOptions)] struct {
DHCP_OPTION Option;
LPWSTR VendorName;
LPWSTR ClassName;
}* VendorOptions;
} DHCP_ALL_OPTIONS,
*LPDHCP_ALL_OPTIONS;
Flags: This is of type DWORD. This MUST be set to zero when sent and ignored on receipt.
NonVendorOptions: This is a pointer of type DHCP_OPTION_ARRAY (section 2.2.1.2.26) structure that points to the location that contains all non-vendor-specific options created on the DHCP server.
NumVendorOptions: This is of type DWORD, containing the number of vendor-specific options created on the DHCP server. This field specifies the number of vendor-specific options defined in the subsequent field, the VendorOptions member.
VendorOptions: This structure defines the vendor-specific options.
Option: This is of type DHCP_OPTION (section 2.2.1.2.25), containing the option definition for the specific vendor class and user class.
VendorName: A pointer to a null-terminated Unicode string that specifies the name of a vendor class for a specific option definition. There is no restriction on the length of this Unicode string.
ClassName: A pointer to a null-terminated Unicode string that specifies the name of a user class for a specific user class. There is no restriction on the length of this Unicode string.