ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dhcpsapi.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 16532 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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
21 extern "C" {
22 #else
23 #define DHCP_CONST
24 #endif
25
26 typedef DWORD DHCP_IP_ADDRESS,*PDHCP_IP_ADDRESS,*LPDHCP_IP_ADDRESS;
27 typedef DWORD DHCP_IP_MASK;
28 typedef DWORD DHCP_RESUME_HANDLE;
29 typedef DWORD DHCP_OPTION_ID;
30
31 typedef enum _DHCP_OPTION_TYPE {
32 DhcpUnaryElementTypeOption = 0,
33 DhcpArrayTypeOption
34 } DHCP_OPTION_TYPE, *LPDHCP_OPTION_TYPE;
35
36 typedef struct _DATE_TIME {
37 DWORD dwLowDateTime;
38 DWORD dwHighDateTime;
39 } DATE_TIME,*LPDATE_TIME;
40
41 typedef struct _DWORD_DWORD {
42 DWORD DWord1;
43 DWORD DWord2;
44 } DWORD_DWORD,*LPDWORD_DWORD;
45
46 typedef struct _DHCP_BINARY_DATA {
47 DWORD DataLength;
48 BYTE *Data;
49 } DHCP_BINARY_DATA,*LPDHCP_BINARY_DATA;
50
51 typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
52
53 #define DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x01
54
55 typedef 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
65 typedef struct _DHCP_BIND_ELEMENT_ARRAY {
66 DWORD NumElements;
67 LPDHCP_BIND_ELEMENT Elements;
68 } DHCP_BIND_ELEMENT_ARRAY,*LPDHCP_BIND_ELEMENT_ARRAY;
69
70 typedef enum _DHCP_CLIENT_SEARCH_TYPE {
71 DhcpClientIpAddress,DhcpClientHardwareAddress,DhcpClientName
72 } DHCP_SEARCH_INFO_TYPE,*LPDHCP_SEARCH_INFO_TYPE;
73
74 typedef 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
83 typedef enum _DHCP_OPTION_SCOPE_TYPE {
84 DhcpDefaultOptions,DhcpGlobalOptions,DhcpSubnetOptions,DhcpReservedOptions,DhcpMScopeOptions
85 } DHCP_OPTION_SCOPE_TYPE,*LPDHCP_OPTION_SCOPE_TYPE;
86
87 typedef struct _DHCP_RESERVED_SCOPE {
88 DHCP_IP_ADDRESS ReservedIpAddress;
89 DHCP_IP_ADDRESS ReservedIpSubnetAddress;
90 } DHCP_RESERVED_SCOPE,*LPDHCP_RESERVED_SCOPE;
91
92 typedef 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
103 typedef struct _DHCP_HOST_INFO {
104 DHCP_IP_ADDRESS IpAddress;
105 LPWSTR NetBiosName;
106 LPWSTR HostName;
107 } DHCP_HOST_INFO,*LPDHCP_HOST_INFO;
108
109 typedef 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
119 typedef struct _DHCP_CLIENT_INFO_ARRAY {
120 DWORD NumElements;
121 LPDHCP_CLIENT_INFO *Clients;
122 } DHCP_CLIENT_INFO_ARRAY,*LPDHCP_CLIENT_INFO_ARRAY;
123
124 typedef struct _DHCP_IP_ARRAY {
125 DWORD NumElements;
126 LPDHCP_IP_ADDRESS Elements;
127 } DHCP_IP_ARRAY,*LPDHCP_IP_ARRAY;
128
129 typedef enum _DHCP_SUBNET_STATE {
130 DhcpSubnetEnabled = 0,DhcpSubnetDisabled,DhcpSubnetEnabledSwitched,DhcpSubnetDisabledSwitched,DhcpSubnetInvalidState
131 } DHCP_SUBNET_STATE,*LPDHCP_SUBNET_STATE;
132
133 typedef 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
142 typedef enum _DHCP_OPTION_DATA_TYPE {
143 DhcpByteOption,DhcpWordOption,DhcpDWordOption,DhcpDWordDWordOption,DhcpIpAddressOption,DhcpStringDataOption,DhcpBinaryDataOption,DhcpEncapsulatedDataOption
144 } DHCP_OPTION_DATA_TYPE,*LPDHCP_OPTION_DATA_TYPE;
145
146 typedef 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
161 typedef struct _DHCP_OPTION_DATA {
162 DWORD NumElements;
163 LPDHCP_OPTION_DATA_ELEMENT Elements;
164 } DHCP_OPTION_DATA,*LPDHCP_OPTION_DATA;
165
166 typedef struct _DHCP_OPTION_VALUE {
167 DHCP_OPTION_ID OptionID;
168 DHCP_OPTION_DATA Value;
169 } DHCP_OPTION_VALUE,*LPDHCP_OPTION_VALUE;
170
171 typedef 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
179 DWORD WINAPI DhcpGetVersion(LPWSTR ServerIpAddress,LPDWORD MajorVersion,LPDWORD MinorVersion);
180 DWORD WINAPI DhcpSetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY BindElementInfo);
181 DWORD WINAPI DhcpGetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY *BindElementsInfo);
182 DWORD WINAPI DhcpCreateClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
183 DWORD WINAPI DhcpSetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
184 DWORD WINAPI DhcpGetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *SearchInfo,LPDHCP_CLIENT_INFO *ClientInfo);
185 DWORD WINAPI DhcpDeleteClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *ClientInfo);
186 DWORD 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);
187 DWORD WINAPI DhcpEnumSubnets(DHCP_CONST WCHAR *ServerIpAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_IP_ARRAY *EnumInfo,DWORD *ElementsRead,DWORD *ElementsTotal);
188 DWORD WINAPI DhcpGetSubnetInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,LPDHCP_SUBNET_INFO *SubnetInfo);
189 DWORD WINAPI DhcpGetOptionValue(DHCP_CONST WCHAR *ServerIpAddress,DHCP_OPTION_ID OptionID,DHCP_CONST DHCP_OPTION_SCOPE_INFO *ScopeInfo,LPDHCP_OPTION_VALUE *OptionValue);
190 VOID 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
264 typedef struct _DHCP_OPTION_ARRAY {
265 DWORD NumElements;
266 LPDHCP_OPTION Options;
267 } DHCP_OPTION_ARRAY, *LPDHCP_OPTION_ARRAY;
268
269 #if (_WIN32_WINNT >= 0x0600)
270 typedef struct _DHCP_BINARY_DATA {
271 DWORD DataLength;
272 BYTE* Data;
273 } DHCP_BINARY_DATA, *LPDHCP_BINARY_DATA;
274
275 typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
276
277 typedef enum _DHCP_OPTION_SCOPE_TYPE6 {
278 DhcpDefaultOptions6,
279 DhcpScopeOptions6,
280 DhcpReservedOptions6
281 } DHCP_OPTION_SCOPE_TYPE6;
282
283 typedef 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
294 typedef 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
299 typedef 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
310 typedef 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
319 typedef struct _DHCP_OPTION_VALUE_ARRAY {
320 DWORD NumElements;
321 LPDHCP_OPTION_VALUE Values;
322 } DHCP_OPTION_VALUE_ARRAY, *LPDHCP_OPTION_VALUE_ARRAY;
323
324 typedef enum _DHCP_SUBNET_ELEMENT_TYPE_V6 {
325 Dhcpv6IpRanges,
326 Dhcpv6ReservedIps,
327 Dhcpv6ExcludedIpRanges
328 } DHCP_SUBNET_ELEMENT_TYPE_V6, *LPDHCP_SUBNET_ELEMENT_TYPE_V6;
329
330 typedef 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
335 typedef 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
341 typedef 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
350 typedef 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
355 typedef 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
365 DWORD DHCP_API_FUNCTION DhcpAddSubnetElementV6(
366 LPWSTR ServerIpAddress,
367 DHCP_IPV6_ADDRESS SubnetAddress,
368 LDHCP_SUBNET_ELEMENT_DATA_V6 *AddElementInfo
369 );
370
371 DWORD 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
380 DWORD DHCP_API_FUNCTION DhcpDeleteSubnetV6(
381 LPWSTR ServerIpAddress,
382 DHCP_IPV6_ADDRESS SubnetAddress,
383 DHCP_FORCE_FLAG ForceFlag
384 );
385
386 DWORD DHCP_API_FUNCTION DhcpCreateSubnetV6(
387 LPWSTR ServerIpAddress,
388 DHCP_IPV6_ADDRESS SubnetAddress,
389 LDHCP_SUBNET_INFO_V6 *SubnetInfo
390 );
391
392 DWORD 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
404 DWORD 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
417 DWORD 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
427 DWORD 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
438 DWORD 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
447 DWORD DHCP_API_FUNCTION DhcpGetAllOptionsV6(
448 LPWSTR ServerIpAddress,
449 DWORD Flags,
450 LPDHCP_ALL_OPTIONS *OptionStruct
451 );
452
453 DWORD DHCP_API_FUNCTION DhcpGetAllOptionValuesV6(
454 LPWSTR ServerIpAddress,
455 DWORD Flags,
456 LPDHCP_OPTION_SCOPE_INFO6 ScopeInfo,
457 LPDHCP_ALL_OPTION_VALUES *Values
458 );
459
460 DWORD 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
469 DWORD DHCP_API_FUNCTION DhcpGetSubnetInfoV6(
470 LPWSTR ServerIpAddress,
471 DHCP_IPV6_ADDRESS SubnetAddress,
472 LPDHCP_SUBNET_INFO_V6 *SubnetInfo
473 );
474
475 DWORD DHCP_API_FUNCTION DhcpRemoveOptionV6(
476 LPWSTR ServerIpAddress,
477 DWORD Flags,
478 DHCP_OPTION_ID OptionID,
479 WCHAR *ClassName,
480 WCHAR *VendorName
481 );
482
483 DWORD 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
492 DWORD 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
499 DWORD 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
508 DWORD 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