root/trunk/win32/dhcpcsdk.d

Revision 201, 2.1 kB (checked in by smjg, 4 years ago)

Fixed a few version-dependent compile errors

Line 
1 /***********************************************************************\
2 *                               dhcpcsdk.d                              *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                           by Stewart Gordon                           *
8 *                                                                       *
9 *                       Placed into public domain                       *
10 \***********************************************************************/
11 module win32.dhcpcsdk;
12
13 private import win32.w32api, win32.windef;
14
15 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500,
16 "win32.dhcpcsdk is available only if version WindowsXP, Windows2003
17 or WindowsVista is set, or both Windows2000 and WindowsNTonly are set");
18
19 //#if (_WIN32_WINNT >= 0x0500)
20
21 // FIXME: check type
22 const DHCPCAPI_REGISTER_HANDLE_EVENT = 1;
23 const DHCPCAPI_REQUEST_PERSISTENT    = 1;
24 const DHCPCAPI_REQUEST_SYNCHRONOUS   = 2;
25
26 struct DHCPCAPI_CLASSID {
27     ULONG  Flags;
28     LPBYTE Data;
29     ULONG  nBytesData;
30 }
31 alias DHCPCAPI_CLASSID* PDHCPCAPI_CLASSID, LPDHCPCAPI_CLASSID;
32
33 struct DHCPAPI_PARAMS {
34     ULONG  Flags;
35     ULONG  OptionId;
36     BOOL   IsVendor;
37     LPBYTE Data;
38     DWORD  nBytesData;
39 }
40 alias DHCPAPI_PARAMS* PDHCPAPI_PARAMS, LPDHCPAPI_PARAMS;
41
42 struct DHCPCAPI_PARAMS_ARRAY {
43     ULONG            nParams;
44     LPDHCPAPI_PARAMS Params;
45 }
46 alias DHCPCAPI_PARAMS_ARRAY* PDHCPCAPI_PARAMS_ARRAY, LPDHCPCAPI_PARAMS_ARRAY;
47
48 extern (Windows) {
49     void DhcpCApiCleanup();
50     DWORD DhcpCApiInitialize(LPDWORD);
51     DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID);
52     DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID,
53       DHCPCAPI_PARAMS_ARRAY, LPVOID);
54     DWORD DhcpRemoveDNSRegistrations();
55     DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR);
56 }
57
58 //#endif // (_WIN32_WINNT >= 0x0500)
Note: See TracBrowser for help on using the browser.