source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dhcpsapi.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 16.1 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _DHCPSAPI_
7#define _DHCPSAPI_
8
9#ifndef WINAPI
10#if defined(_ARM_)
11#define WINAPI
12#else
13#define WINAPI __stdcall
14#endif
15#endif
16
17#define DHCP_API_FUNCTION WINAPI
18
19#ifdef __cplusplus
20#define DHCP_CONST const
21extern "C" {
22#else
23#define DHCP_CONST
24#endif
25
26typedef DWORD DHCP_IP_ADDRESS,*PDHCP_IP_ADDRESS,*LPDHCP_IP_ADDRESS;
27typedef DWORD DHCP_IP_MASK;
28typedef DWORD DHCP_RESUME_HANDLE;
29typedef DWORD DHCP_OPTION_ID;
30
31typedef enum _DHCP_OPTION_TYPE {
32 DhcpUnaryElementTypeOption = 0,
33 DhcpArrayTypeOption
34} DHCP_OPTION_TYPE, *LPDHCP_OPTION_TYPE;
35
36typedef struct _DATE_TIME {
37 DWORD dwLowDateTime;
38 DWORD dwHighDateTime;
39} DATE_TIME,*LPDATE_TIME;
40
41typedef struct _DWORD_DWORD {
42 DWORD DWord1;
43 DWORD DWord2;
44} DWORD_DWORD,*LPDWORD_DWORD;
45
46typedef struct _DHCP_BINARY_DATA {
47 DWORD DataLength;
48 BYTE *Data;
49} DHCP_BINARY_DATA,*LPDHCP_BINARY_DATA;
50
51typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
52
53#define DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x01
54
55typedef struct _DHCP_BIND_ELEMENT {
56 ULONG Flags;
57 WINBOOL fBoundToDHCPServer;
58 DHCP_IP_ADDRESS AdapterPrimaryAddress;
59 DHCP_IP_ADDRESS AdapterSubnetAddress;
60 LPWSTR IfDescription;
61 ULONG IfIdSize;
62 LPBYTE IfId;
63} DHCP_BIND_ELEMENT,*LPDHCP_BIND_ELEMENT;
64
65typedef struct _DHCP_BIND_ELEMENT_ARRAY {
66 DWORD NumElements;
67 LPDHCP_BIND_ELEMENT Elements;
68} DHCP_BIND_ELEMENT_ARRAY,*LPDHCP_BIND_ELEMENT_ARRAY;
69
70typedef enum _DHCP_CLIENT_SEARCH_TYPE {
71 DhcpClientIpAddress,DhcpClientHardwareAddress,DhcpClientName
72} DHCP_SEARCH_INFO_TYPE,*LPDHCP_SEARCH_INFO_TYPE;
73
74typedef struct _DHCP_CLIENT_SEARCH_INFO {
75 DHCP_SEARCH_INFO_TYPE SearchType;
76 union _DHCP_CLIENT_SEARCH_UNION {
77 DHCP_IP_ADDRESS ClientIpAddress;
78 DHCP_CLIENT_UID ClientHardwareAddress;
79 LPWSTR ClientName;
80 } SearchInfo;
81} DHCP_SEARCH_INFO,*LPDHCP_SEARCH_INFO;
82
83typedef enum _DHCP_OPTION_SCOPE_TYPE {
84 DhcpDefaultOptions,DhcpGlobalOptions,DhcpSubnetOptions,DhcpReservedOptions,DhcpMScopeOptions
85} DHCP_OPTION_SCOPE_TYPE,*LPDHCP_OPTION_SCOPE_TYPE;
86
87typedef struct _DHCP_RESERVED_SCOPE {
88 DHCP_IP_ADDRESS ReservedIpAddress;
89 DHCP_IP_ADDRESS ReservedIpSubnetAddress;
90} DHCP_RESERVED_SCOPE,*LPDHCP_RESERVED_SCOPE;
91
92typedef struct _DHCP_OPTION_SCOPE_INFO {
93 DHCP_OPTION_SCOPE_TYPE ScopeType;
94 union _DHCP_OPTION_SCOPE_UNION {
95 PVOID DefaultScopeInfo;
96 PVOID GlobalScopeInfo;
97 DHCP_IP_ADDRESS SubnetScopeInfo;
98 DHCP_RESERVED_SCOPE ReservedScopeInfo;
99 LPWSTR MScopeInfo;
100 } ScopeInfo;
101} DHCP_OPTION_SCOPE_INFO,*LPDHCP_OPTION_SCOPE_INFO;
102
103typedef struct _DHCP_HOST_INFO {
104 DHCP_IP_ADDRESS IpAddress;
105 LPWSTR NetBiosName;
106 LPWSTR HostName;
107} DHCP_HOST_INFO,*LPDHCP_HOST_INFO;
108
109typedef struct _DHCP_CLIENT_INFO {
110 DHCP_IP_ADDRESS ClientIpAddress;
111 DHCP_IP_MASK SubnetMask;
112 DHCP_CLIENT_UID ClientHardwareAddress;
113 LPWSTR ClientName;
114 LPWSTR ClientComment;
115 DATE_TIME ClientLeaseExpires;
116 DHCP_HOST_INFO OwnerHost;
117} DHCP_CLIENT_INFO,*LPDHCP_CLIENT_INFO;
118
119typedef struct _DHCP_CLIENT_INFO_ARRAY {
120 DWORD NumElements;
121 LPDHCP_CLIENT_INFO *Clients;
122} DHCP_CLIENT_INFO_ARRAY,*LPDHCP_CLIENT_INFO_ARRAY;
123
124typedef struct _DHCP_IP_ARRAY {
125 DWORD NumElements;
126 LPDHCP_IP_ADDRESS Elements;
127} DHCP_IP_ARRAY,*LPDHCP_IP_ARRAY;
128
129typedef enum _DHCP_SUBNET_STATE {
130 DhcpSubnetEnabled = 0,DhcpSubnetDisabled,DhcpSubnetEnabledSwitched,DhcpSubnetDisabledSwitched,DhcpSubnetInvalidState
131} DHCP_SUBNET_STATE,*LPDHCP_SUBNET_STATE;
132
133typedef struct _DHCP_SUBNET_INFO {
134 DHCP_IP_ADDRESS SubnetAddress;
135 DHCP_IP_MASK SubnetMask;
136 LPWSTR SubnetName;
137 LPWSTR SubnetComment;
138 DHCP_HOST_INFO PrimaryHost;
139 DHCP_SUBNET_STATE SubnetState;
140} DHCP_SUBNET_INFO,*LPDHCP_SUBNET_INFO;
141
142typedef enum _DHCP_OPTION_DATA_TYPE {
143 DhcpByteOption,DhcpWordOption,DhcpDWordOption,DhcpDWordDWordOption,DhcpIpAddressOption,DhcpStringDataOption,DhcpBinaryDataOption,DhcpEncapsulatedDataOption
144} DHCP_OPTION_DATA_TYPE,*LPDHCP_OPTION_DATA_TYPE;
145
146typedef struct _DHCP_OPTION_DATA_ELEMENT {
147 DHCP_OPTION_DATA_TYPE OptionType;
148 union _DHCP_OPTION_ELEMENT_UNION {
149 BYTE ByteOption;
150 WORD WordOption;
151 DWORD DWordOption;
152 DWORD_DWORD DWordDWordOption;
153 DHCP_IP_ADDRESS IpAddressOption;
154 LPWSTR StringDataOption;
155 DHCP_BINARY_DATA BinaryDataOption;
156 DHCP_BINARY_DATA EncapsulatedDataOption;
157
158 } Element;
159} DHCP_OPTION_DATA_ELEMENT,*LPDHCP_OPTION_DATA_ELEMENT;
160
161typedef struct _DHCP_OPTION_DATA {
162 DWORD NumElements;
163 LPDHCP_OPTION_DATA_ELEMENT Elements;
164} DHCP_OPTION_DATA,*LPDHCP_OPTION_DATA;
165
166typedef struct _DHCP_OPTION_VALUE {
167 DHCP_OPTION_ID OptionID;
168 DHCP_OPTION_DATA Value;
169} DHCP_OPTION_VALUE,*LPDHCP_OPTION_VALUE;
170
171typedef struct _DHCP_OPTION {
172 DHCP_OPTION_ID OptionID;
173 LPWSTR OptionName;
174 LPWSTR OptionComment;
175 DHCP_OPTION_DATA DefaultValue;
176 DHCP_OPTION_TYPE OptionType;
177} DHCP_OPTION, *LPDHCP_OPTION;
178
179DWORD WINAPI DhcpGetVersion(LPWSTR ServerIpAddress,LPDWORD MajorVersion,LPDWORD MinorVersion);
180DWORD WINAPI DhcpSetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY BindElementInfo);
181DWORD WINAPI DhcpGetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY *BindElementsInfo);
182DWORD WINAPI DhcpCreateClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
183DWORD WINAPI DhcpSetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
184DWORD WINAPI DhcpGetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *SearchInfo,LPDHCP_CLIENT_INFO *ClientInfo);
185DWORD WINAPI DhcpDeleteClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *ClientInfo);
186DWORD WINAPI DhcpEnumSubnetClients(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_CLIENT_INFO_ARRAY *ClientInfo,DWORD *ClientsRead,DWORD *ClientsTotal);
187DWORD WINAPI DhcpEnumSubnets(DHCP_CONST WCHAR *ServerIpAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_IP_ARRAY *EnumInfo,DWORD *ElementsRead,DWORD *ElementsTotal);
188DWORD WINAPI DhcpGetSubnetInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,LPDHCP_SUBNET_INFO *SubnetInfo);
189DWORD WINAPI DhcpGetOptionValue(DHCP_CONST WCHAR *ServerIpAddress,DHCP_OPTION_ID OptionID,DHCP_CONST DHCP_OPTION_SCOPE_INFO *ScopeInfo,LPDHCP_OPTION_VALUE *OptionValue);
190VOID WINAPI DhcpRpcFreeMemory(PVOID BufferPointer);
191
192#define ERROR_DHCP_REGISTRY_INIT_FAILED 20000
193#define ERROR_DHCP_DATABASE_INIT_FAILED 20001
194#define ERROR_DHCP_RPC_INIT_FAILED 20002
195#define ERROR_DHCP_NETWORK_INIT_FAILED 20003
196#define ERROR_DHCP_SUBNET_EXISTS 20004
197#define ERROR_DHCP_SUBNET_NOT_PRESENT 20005
198#define ERROR_DHCP_PRIMARY_NOT_FOUND 20006
199#define ERROR_DHCP_ELEMENT_CANT_REMOVE 20007
200#define ERROR_DHCP_OPTION_EXISTS 20009
201#define ERROR_DHCP_OPTION_NOT_PRESENT 20010
202#define ERROR_DHCP_ADDRESS_NOT_AVAILABLE 20011
203#define ERROR_DHCP_RANGE_FULL 20012
204#define ERROR_DHCP_JET_ERROR 20013
205#define ERROR_DHCP_CLIENT_EXISTS 20014
206#define ERROR_DHCP_INVALID_DHCP_MESSAGE 20015
207#define ERROR_DHCP_INVALID_DHCP_CLIENT 20016
208#define ERROR_DHCP_SERVICE_PAUSED 20017
209#define ERROR_DHCP_NOT_RESERVED_CLIENT 20018
210#define ERROR_DHCP_RESERVED_CLIENT 20019
211#define ERROR_DHCP_RANGE_TOO_SMALL 20020
212#define ERROR_DHCP_IPRANGE_EXISTS 20021
213#define ERROR_DHCP_RESERVEDIP_EXISTS 20022
214#define ERROR_DHCP_INVALID_RANGE 20023
215#define ERROR_DHCP_RANGE_EXTENDED 20024
216#define ERROR_DHCP_RANGE_EXTENSION_TOO_SMALL 20025
217#define ERROR_DHCP_WARNING_RANGE_EXTENDED_LESS 20026
218#define ERROR_DHCP_JET_CONV_REQUIRED 20027
219#define ERROR_DHCP_SERVER_INVALID_BOOT_FILE_TABLE 20028
220#define ERROR_DHCP_SERVER_UNKNOWN_BOOT_FILE_NAME 20029
221#define ERROR_DHCP_SUPER_SCOPE_NAME_TOO_LONG 20030
222#define ERROR_DHCP_IP_ADDRESS_IN_USE 20032
223#define ERROR_DHCP_LOG_FILE_PATH_TOO_LONG 20033
224#define ERROR_DHCP_UNSUPPORTED_CLIENT 20034
225#define ERROR_DHCP_SERVER_INTERFACE_NOTIFICATION_EVENT 20035
226#define ERROR_DHCP_JET97_CONV_REQUIRED 20036
227#define ERROR_DHCP_ROGUE_INIT_FAILED 20037
228#define ERROR_DHCP_ROGUE_SAMSHUTDOWN 20038
229#define ERROR_DHCP_ROGUE_NOT_AUTHORIZED 20039
230#define ERROR_DHCP_ROGUE_DS_UNREACHABLE 20040
231#define ERROR_DHCP_ROGUE_DS_CONFLICT 20041
232#define ERROR_DHCP_ROGUE_NOT_OUR_ENTERPRISE 20042
233#define ERROR_DHCP_STANDALONE_IN_DS 20043
234#define ERROR_DHCP_CLASS_NOT_FOUND 20044
235#define ERROR_DHCP_CLASS_ALREADY_EXISTS 20045
236#define ERROR_DHCP_SCOPE_NAME_TOO_LONG 20046
237#define ERROR_DHCP_DEFAULT_SCOPE_EXISTS 20047
238#define ERROR_DHCP_CANT_CHANGE_ATTRIBUTE 20048
239#define ERROR_DHCP_IPRANGE_CONV_ILLEGAL 20049
240#define ERROR_DHCP_NETWORK_CHANGED 20050
241#define ERROR_DHCP_CANNOT_MODIFY_BINDINGS 20051
242#define ERROR_DHCP_SUBNET_EXISTS_2 20052
243#define ERROR_DHCP_MSCOPE_EXISTS 20053
244#define ERROR_DHCP_MSCOPE_RANGE_TOO_SMALL 20054
245#define ERROR_DHCP_MSCOPE_RANGE_TOO_SMALL 20054
246#define ERROR_DDS_NO_DS_AVAILABLE 20070
247#define ERROR_DDS_NO_DHCP_ROOT 20071
248#define ERROR_DDS_DHCP_SERVER_NOT_FOUND 20074
249#define ERROR_DDS_OPTION_ALREADY_EXISTS 20075
250#define ERROR_DDS_OPTION_DOES_NOT_EXIST 20076
251#define ERROR_DDS_CLASS_EXISTS 20077
252#define ERROR_DDS_CLASS_DOES_NOT_EXIST 20078
253#define ERROR_DDS_SERVER_ALREADY_EXISTS 20079
254#define ERROR_DDS_SERVER_DOES_NOT_EXIST 20080
255#define ERROR_DDS_SERVER_ADDRESS_MISMATCH 20081
256#define ERROR_DDS_SUBNET_EXISTS 20082
257#define ERROR_DDS_SUBNET_HAS_DIFF_SUPER_SCOPE 20083
258#define ERROR_DDS_SUBNET_NOT_PRESENT 20084
259#define ERROR_DDS_RESERVATION_NOT_PRESENT 20085
260#define ERROR_DDS_RESERVATION_CONFLICT 20086
261#define ERROR_DDS_POSSIBLE_RANGE_CONFLICT 20087
262#define ERROR_DDS_RANGE_DOES_NOT_EXIST 20088
263
264typedef struct _DHCP_OPTION_ARRAY {
265 DWORD NumElements;
266 LPDHCP_OPTION Options;
267} DHCP_OPTION_ARRAY, *LPDHCP_OPTION_ARRAY;
268
269#if (_WIN32_WINNT >= 0x0600)
270typedef struct _DHCP_BINARY_DATA {
271 DWORD DataLength;
272 BYTE* Data;
273} DHCP_BINARY_DATA, *LPDHCP_BINARY_DATA;
274
275typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
276
277typedef enum _DHCP_OPTION_SCOPE_TYPE6 {
278 DhcpDefaultOptions6,
279 DhcpScopeOptions6,
280 DhcpReservedOptions6
281} DHCP_OPTION_SCOPE_TYPE6;
282
283typedef struct _DHCP_ALL_OPTIONS {
284 DWORD Flags;
285 LPDHCP_OPTION_ARRAY NonVendorOptions;
286 DWORD NumVendorOptions;
287 struct {
288 DHCP_OPTION Option;
289 LPWSTR VendorName;
290 LPWSTR ClassName;
291 } *VendorOptions;
292} DHCP_ALL_OPTIONS, *LPDHCP_ALL_OPTIONS;
293
294typedef struct _DHCP_IPV6_ADDRESS {
295 ULONGLONG HighOrderBits;
296 ULONGLONG LowOrderBits;
297} DHCP_IPV6_ADDRESS, *PDHCP_IPV6_ADDRESS, *LPDHCP_IPV6_ADDRESS, DHCP_RESUME_IPV6_HANDLE;
298
299typedef struct _DHCP_ALL_OPTION_VALUES {
300 DWORD Flags;
301 DWORD NumElements;
302 struct {
303 LPWSTR ClassName;
304 LPWSTR VendorName;
305 WINBOOL IsVendor;
306 LPDHCP_OPTION_VALUE_ARRAY OptionsArray;
307 } *Options;
308} DHCP_ALL_OPTION_VALUES, *LPDHCP_ALL_OPTION_VALUES;
309
310typedef struct _DHCP_OPTION_SCOPE_INFO6 {
311 DHCP_OPTION_SCOPE_TYPE6 ScopeType;
312 union {
313 PVOID DefaultScopeInfo;
314 DHCP_IPV6_ADDRESS SubnetScopeInfo;
315 DHCP_RESERVED_SCOPE6 ReservedScopeInfo;
316 } ScopeInfo;
317} DHCP_OPTION_SCOPE_INFO6, *PDHCP_OPTION_SCOPE_INFO6, *LPDHCP_OPTION_SCOPE_INFO6;
318
319typedef struct _DHCP_OPTION_VALUE_ARRAY {
320 DWORD NumElements;
321 LPDHCP_OPTION_VALUE Values;
322} DHCP_OPTION_VALUE_ARRAY, *LPDHCP_OPTION_VALUE_ARRAY;
323
324typedef enum _DHCP_SUBNET_ELEMENT_TYPE_V6 {
325 Dhcpv6IpRanges,
326 Dhcpv6ReservedIps,
327 Dhcpv6ExcludedIpRanges
328} DHCP_SUBNET_ELEMENT_TYPE_V6, *LPDHCP_SUBNET_ELEMENT_TYPE_V6;
329
330typedef struct _DHCP_IP_RANGE_V6 {
331 DHCP_IPV6_ADDRESS StartAddress;
332 DHCP_IPV6_ADDRESS EndAddress;
333} DHCP_IP_RANGE_V6, *LPDHCP_IP_RANGE_V6;
334
335typedef struct _DHCP_IP_RESERVATION_V6 {
336 DHCP_IPV6_ADDRESS ReservedIpAddress;
337 DHCP_CLIENT_UID* ReservedForClient;
338 DWORD InterfaceId;
339} DHCP_IP_RESERVATION_V6, *LPDHCP_IP_RESERVATION_V6;
340
341typedef struct DHCP_SUBNET_ELEMENT_DATA_V6 {
342 DHCP_SUBNET_ELEMENT_TYPE_V6 ElementType;
343 union _DHCP_SUBNET_ELEMENT_UNION_V6 {
344 DHCP_IP_RANGE_V6* IpRange;
345 DHCP_IP_RESERVATION_V6* ReservedIp;
346 DHCP_IP_RANGE_V6* ExcludeIpRange;
347 } Element;
348} DHCP_SUBNET_ELEMENT_DATA_V6, *LDHCP_SUBNET_ELEMENT_DATA_V6, *LPDHCP_SUBNET_ELEMENT_DATA_V6;
349
350typedef struct _DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 {
351 DWORD NumElements;
352 LPDHCP_SUBNET_ELEMENT_DATA_V6 Elements;
353} DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6, *LPDHCP_SUBNET_ELEMENT_INFO_ARRAY_V6;
354
355typedef struct _DHCP_SUBNET_INFO_V6 {
356 DHCP_IPV6_ADDRESS SubnetAddress;
357 ULONG Prefix;
358 USHORT Preference;
359 LPWSTR SubnetName;
360 LPWSTR SubnetComment;
361 DWORD State;
362 DWORD ScopeId;
363} DHCP_SUBNET_INFO_V6, *PDHCP_SUBNET_INFO_V6, *LPDHCP_SUBNET_INFO_V6;
364
365DWORD DHCP_API_FUNCTION DhcpAddSubnetElementV6(
366 LPWSTR ServerIpAddress,
367 DHCP_IPV6_ADDRESS SubnetAddress,
368 LDHCP_SUBNET_ELEMENT_DATA_V6 *AddElementInfo
369);
370
371DWORD DHCP_API_FUNCTION DhcpCreateOptionV6(
372 LPWSTR ServerIpAddress,
373 DWORD Flags,
374 DHCP_OPTION_ID OptionId,
375 WCHAR *ClassName,
376 WCHAR *VendorName,
377 LPDHCP_OPTION OptionInfo
378);
379
380DWORD DHCP_API_FUNCTION DhcpDeleteSubnetV6(
381 LPWSTR ServerIpAddress,
382 DHCP_IPV6_ADDRESS SubnetAddress,
383 DHCP_FORCE_FLAG ForceFlag
384);
385
386DWORD DHCP_API_FUNCTION DhcpCreateSubnetV6(
387 LPWSTR ServerIpAddress,
388 DHCP_IPV6_ADDRESS SubnetAddress,
389 LDHCP_SUBNET_INFO_V6 *SubnetInfo
390);
391
392DWORD DHCP_API_FUNCTION DhcpEnumOptionsV6(
393 LPWSTR ServerIpAddress,
394 DWORD Flags,
395 WCHAR *ClassName,
396 WCHAR *VendorName,
397 DHCP_RESUME_HANDLE *ResumeHandle,
398 DWORD PreferredMaximum,
399 LPDHCP_OPTION_ARRAY *Options,
400 DWORD *OptionsRead,
401 DWORD *OptionsTotal
402);
403
404DWORD DHCP_API_FUNCTION DhcpEnumOptionValuesV6(
405 LPWSTR ServerIpAddress,
406 DWORD Flags,
407 WCHAR *ClassName,
408 WCHAR *VendorName,
409 DHCP_OPTION_SCOPE_INFO6 ScopeInfo,
410 DHCP_RESUME_HANDLE *ResumeHandle,
411 DWORD PreferredMaximum,
412 LPDHCP_OPTION_VALUE_ARRAY *OptionValues,
413 DWORD *OptionsRead,
414 DWORD *OptionsTotal
415);
416
417DWORD DHCP_API_FUNCTION DhcpEnumSubnetClientsV6(
418 LPWSTR ServerIpAddress,
419 DHCP_IPV6_ADDRESS SubnetAddress,
420 DHCP_RESUME_IPV6_HANDLE *ResumeHandle,
421 DWORD PreferredMaximum,
422 LPDHCP_CLIENT_INFO_ARRAY_V6 *ClientInfo,
423 DWORD *ClientsRead,
424 DWORD *ClientsTotal
425);
426
427DWORD DHCP_API_FUNCTION DhcpEnumSubnetElementsV6(
428 LPWSTR ServerIpAddress,
429 DHCP_IPV6_ADDRESS SubnetAddress,
430 DHCP_SUBNET_ELEMENT_TYPE_V6 EnumElementType,
431 DHCP_RESUME_HANDLE *ResumeHandle,
432 DWORD PreferredMaximum,
433 LPDHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 *EnumElementInfo,
434 DWORD *ElementsRead,
435 DWORD *ElementsTotal
436);
437
438DWORD DHCP_API_FUNCTION DhcpEnumSubnetsV6(
439 LPWSTR ServerIpAddress,
440 DHCP_RESUME_HANDLE *ResumeHandle,
441 DWORD PreferredMaximum,
442 LPDHCPV6_IP_ARRAY *EnumInfo,
443 DWORD *ElementsRead,
444 DWORD *ElementsTotal
445);
446
447DWORD DHCP_API_FUNCTION DhcpGetAllOptionsV6(
448 LPWSTR ServerIpAddress,
449 DWORD Flags,
450 LPDHCP_ALL_OPTIONS *OptionStruct
451);
452
453DWORD DHCP_API_FUNCTION DhcpGetAllOptionValuesV6(
454 LPWSTR ServerIpAddress,
455 DWORD Flags,
456 LPDHCP_OPTION_SCOPE_INFO6 ScopeInfo,
457 LPDHCP_ALL_OPTION_VALUES *Values
458);
459
460DWORD DHCP_API_FUNCTION DhcpGetOptionInfoV6(
461 LPWSTR ServerIpAddress,
462 DWORD Flags,
463 DHCP_OPTION_ID OptionID,
464 WCHAR *ClassName,
465 WCHAR *VendorName,
466 LPDHCP_OPTION *OptionInfo
467);
468
469DWORD DHCP_API_FUNCTION DhcpGetSubnetInfoV6(
470 LPWSTR ServerIpAddress,
471 DHCP_IPV6_ADDRESS SubnetAddress,
472 LPDHCP_SUBNET_INFO_V6 *SubnetInfo
473);
474
475DWORD DHCP_API_FUNCTION DhcpRemoveOptionV6(
476 LPWSTR ServerIpAddress,
477 DWORD Flags,
478 DHCP_OPTION_ID OptionID,
479 WCHAR *ClassName,
480 WCHAR *VendorName
481);
482
483DWORD DHCP_API_FUNCTION DhcpRemoveOptionValueV6(
484 LPWSTR ServerIpAddress,
485 DWORD Flags,
486 DHCP_OPTION_ID OptionID,
487 WCHAR *ClassName,
488 WCHAR *VendorName,
489 DHCP_OPTION_SCOPE_INFO6 ScopeInfo
490);
491
492DWORD DHCP_API_FUNCTION DhcpRemoveSubnetElementV6(
493 LPWSTR ServerIpAddress,
494 DHCP_IPV6_ADDRESS SubnetAddress,
495 LDHCP_SUBNET_ELEMENT_DATA_V6 RemoveElementInfo,
496 DHCP_FORCE_FLAG ForceFlag
497);
498
499DWORD DHCP_API_FUNCTION DhcpSetOptionInfoV6(
500 LPWSTR ServerIpAddress,
501 DWORD Flags,
502 DHCP_OPTION_ID OptionID,
503 WCHAR *ClassName,
504 WCHAR *VendorName,
505 LPDHCP_OPTION OptionInfo
506);
507
508DWORD DHCP_API_FUNCTION DhcpSetOptionValueV6(
509 LPWSTR ServerIpAddress,
510 DWORD Flags,
511 DHCP_OPTION_ID OptionId,
512 WCHAR *ClassName,
513 WCHAR *VendorName,
514 LDHCP_OPTION_SCOPE_INFO6 ScopeInfo,
515 LDHCP_OPTION_DATA OptionValue
516);
517
518#endif /*(_WIN32_WINNT >= 0x0600)*/
519
520#ifdef __cplusplus
521}
522#endif
523#endif
Note: See TracBrowser for help on using the repository browser.