2 * Windows API header module
4 * Translated from MinGW Windows headers
6 * Authors: Stewart Gordon
7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8 * Source: $(DRUNTIMESRC core/sys/windows/_winnetwk.d)
10 module core
.sys
.windows
.winnetwk
;
13 version (ANSI
) {} else version = Unicode
;
16 import core
.sys
.windows
.winbase
, core
.sys
.windows
.winerror
, core
.sys
.windows
.winnt
;
19 WNNC_NET_MSNET
= 0x00010000,
20 WNNC_NET_LANMAN
= 0x00020000,
21 WNNC_NET_NETWARE
= 0x00030000,
22 WNNC_NET_VINES
= 0x00040000,
23 WNNC_NET_10NET
= 0x00050000,
24 WNNC_NET_LOCUS
= 0x00060000,
25 WNNC_NET_SUN_PC_NFS
= 0x00070000,
26 WNNC_NET_LANSTEP
= 0x00080000,
27 WNNC_NET_9TILES
= 0x00090000,
28 WNNC_NET_LANTASTIC
= 0x000A0000,
29 WNNC_NET_AS400
= 0x000B0000,
30 WNNC_NET_FTP_NFS
= 0x000C0000,
31 WNNC_NET_PATHWORKS
= 0x000D0000,
32 WNNC_NET_LIFENET
= 0x000E0000,
33 WNNC_NET_POWERLAN
= 0x000F0000,
34 WNNC_NET_BWNFS
= 0x00100000,
35 WNNC_NET_COGENT
= 0x00110000,
36 WNNC_NET_FARALLON
= 0x00120000,
37 WNNC_NET_APPLETALK
= 0x00130000,
38 WNNC_NET_INTERGRAPH
= 0x00140000,
39 WNNC_NET_SYMFONET
= 0x00150000,
40 WNNC_NET_CLEARCASE
= 0x00160000,
41 WNNC_NET_FRONTIER
= 0x00170000,
42 WNNC_NET_BMC
= 0x00180000,
43 WNNC_NET_DCE
= 0x00190000,
44 WNNC_NET_AVID
= 0x001A0000,
45 WNNC_NET_DOCUSPACE
= 0x001B0000,
46 WNNC_NET_MANGOSOFT
= 0x001C0000,
47 WNNC_NET_SERNET
= 0x001D0000,
48 WNNC_NET_DECORB
= 0x00200000,
49 WNNC_NET_PROTSTOR
= 0x00210000,
50 WNNC_NET_FJ_REDIR
= 0x00220000,
51 WNNC_NET_DISTINCT
= 0x00230000,
52 WNNC_NET_TWINS
= 0x00240000,
53 WNNC_NET_RDR2SAMPLE
= 0x00250000,
54 WNNC_NET_CSC
= 0x00260000,
55 WNNC_NET_3IN1
= 0x00270000,
56 WNNC_NET_EXTENDNET
= 0x00290000,
57 WNNC_NET_OBJECT_DIRE
= 0x00300000,
58 WNNC_NET_MASFAX
= 0x00310000,
59 WNNC_NET_HOB_NFS
= 0x00320000,
60 WNNC_NET_SHIVA
= 0x00330000,
61 WNNC_NET_IBMAL
= 0x00340000,
62 WNNC_CRED_MANAGER
= 0xFFFF0000
66 RESOURCE_CONNECTED
= 1,
67 RESOURCE_GLOBALNET
= 2,
68 RESOURCE_REMEMBERED
= 3,
75 RESOURCETYPE_DISK
= 1,
76 RESOURCETYPE_PRINT
= 2,
77 RESOURCETYPE_RESERVED
= 8,
78 RESOURCETYPE_UNKNOWN
= 0xFFFFFFFF;
81 RESOURCEUSAGE_CONNECTABLE
= 0x00000001,
82 RESOURCEUSAGE_CONTAINER
= 0x00000002,
83 RESOURCEUSAGE_NOLOCALDEVICE
= 0x00000004,
84 RESOURCEUSAGE_SIBLING
= 0x00000008,
85 RESOURCEUSAGE_ATTACHED
= 0x00000010,
86 RESOURCEUSAGE_ALL
= (RESOURCEUSAGE_CONNECTABLE
87 | RESOURCEUSAGE_CONTAINER
88 | RESOURCEUSAGE_ATTACHED
),
89 RESOURCEUSAGE_RESERVED
= 0x80000000;
92 RESOURCEDISPLAYTYPE_GENERIC
,
93 RESOURCEDISPLAYTYPE_DOMAIN
,
94 RESOURCEDISPLAYTYPE_SERVER
,
95 RESOURCEDISPLAYTYPE_SHARE
,
96 RESOURCEDISPLAYTYPE_FILE
,
97 RESOURCEDISPLAYTYPE_GROUP
,
98 RESOURCEDISPLAYTYPE_NETWORK
,
99 RESOURCEDISPLAYTYPE_ROOT
,
100 RESOURCEDISPLAYTYPE_SHAREADMIN
,
101 RESOURCEDISPLAYTYPE_DIRECTORY
,
102 RESOURCEDISPLAYTYPE_TREE
// = 10
105 enum NETPROPERTY_PERSISTENT
= 1;
108 CONNECT_UPDATE_PROFILE
= 1,
109 CONNECT_UPDATE_RECENT
= 2,
110 CONNECT_TEMPORARY
= 4,
111 CONNECT_INTERACTIVE
= 8,
113 CONNECT_NEED_DRIVE
= 32,
114 CONNECT_REFCOUNT
= 64,
115 CONNECT_REDIRECT
= 128,
116 CONNECT_LOCALDRIVE
= 256,
117 CONNECT_CURRENT_MEDIA
= 512;
121 CONNDLG_CONN_POINT
= 2,
123 CONNDLG_HIDE_BOX
= 8,
124 CONNDLG_PERSIST
= 16,
125 CONNDLG_NOT_PERSIST
= 32;
128 DISC_UPDATE_PROFILE
= 1,
133 WNFMT_ABBREVIATED
= 2,
135 WNFMT_CONNECTION
= 32;
138 WN_SUCCESS
= NO_ERROR
,
139 WN_NO_ERROR
= NO_ERROR
,
140 WN_NOT_SUPPORTED
= ERROR_NOT_SUPPORTED
,
141 WN_CANCEL
= ERROR_CANCELLED
,
142 WN_RETRY
= ERROR_RETRY
,
143 WN_NET_ERROR
= ERROR_UNEXP_NET_ERR
,
144 WN_MORE_DATA
= ERROR_MORE_DATA
,
145 WN_BAD_POINTER
= ERROR_INVALID_ADDRESS
,
146 WN_BAD_VALUE
= ERROR_INVALID_PARAMETER
,
147 WN_BAD_USER
= ERROR_BAD_USERNAME
,
148 WN_BAD_PASSWORD
= ERROR_INVALID_PASSWORD
,
149 WN_ACCESS_DENIED
= ERROR_ACCESS_DENIED
,
150 WN_FUNCTION_BUSY
= ERROR_BUSY
,
151 WN_WINDOWS_ERROR
= ERROR_UNEXP_NET_ERR
,
152 WN_OUT_OF_MEMORY
= ERROR_NOT_ENOUGH_MEMORY
,
153 WN_NO_NETWORK
= ERROR_NO_NETWORK
,
154 WN_EXTENDED_ERROR
= ERROR_EXTENDED_ERROR
,
155 WN_BAD_LEVEL
= ERROR_INVALID_LEVEL
,
156 WN_BAD_HANDLE
= ERROR_INVALID_HANDLE
,
157 WN_NOT_INITIALIZING
= ERROR_ALREADY_INITIALIZED
,
158 WN_NO_MORE_DEVICES
= ERROR_NO_MORE_DEVICES
,
159 WN_NOT_CONNECTED
= ERROR_NOT_CONNECTED
,
160 WN_OPEN_FILES
= ERROR_OPEN_FILES
,
161 WN_DEVICE_IN_USE
= ERROR_DEVICE_IN_USE
,
162 WN_BAD_NETNAME
= ERROR_BAD_NET_NAME
,
163 WN_BAD_LOCALNAME
= ERROR_BAD_DEVICE
,
164 WN_ALREADY_CONNECTED
= ERROR_ALREADY_ASSIGNED
,
165 WN_DEVICE_ERROR
= ERROR_GEN_FAILURE
,
166 WN_CONNECTION_CLOSED
= ERROR_CONNECTION_UNAVAIL
,
167 WN_NO_NET_OR_BAD_PATH
= ERROR_NO_NET_OR_BAD_PATH
,
168 WN_BAD_PROVIDER
= ERROR_BAD_PROVIDER
,
169 WN_CANNOT_OPEN_PROFILE
= ERROR_CANNOT_OPEN_PROFILE
,
170 WN_BAD_PROFILE
= ERROR_BAD_PROFILE
,
171 WN_BAD_DEV_TYPE
= ERROR_BAD_DEV_TYPE
,
172 WN_DEVICE_ALREADY_REMEMBERED
= ERROR_DEVICE_ALREADY_REMEMBERED
,
173 WN_NO_MORE_ENTRIES
= ERROR_NO_MORE_ITEMS
,
174 WN_NOT_CONTAINER
= ERROR_NOT_CONTAINER
,
175 WN_NOT_AUTHENTICATED
= ERROR_NOT_AUTHENTICATED
,
176 WN_NOT_LOGGED_ON
= ERROR_NOT_LOGGED_ON
,
177 WN_NOT_VALIDATED
= ERROR_NO_LOGON_SERVERS
181 UNIVERSAL_NAME_INFO_LEVEL
= 1,
182 REMOTE_NAME_INFO_LEVEL
188 NETINFO_PRINTERRED
= 8;
194 enum DWORD PP_DISPLAYERRORS
= 1;
197 WNCON_FORNETCARD
= 1,
202 struct NETRESOURCEA
{
212 alias NETRESOURCEA
* LPNETRESOURCEA
;
214 struct NETRESOURCEW
{
224 alias NETRESOURCEW
* LPNETRESOURCEW
;
226 struct CONNECTDLGSTRUCTA
{
229 LPNETRESOURCEA lpConnRes
;
233 alias CONNECTDLGSTRUCTA
* LPCONNECTDLGSTRUCTA
;
235 struct CONNECTDLGSTRUCTW
{
238 LPNETRESOURCEW lpConnRes
;
242 alias CONNECTDLGSTRUCTW
* LPCONNECTDLGSTRUCTW
;
244 struct DISCDLGSTRUCTA
{
251 alias DISCDLGSTRUCTA
* LPDISCDLGSTRUCTA
;
253 struct DISCDLGSTRUCTW
{
260 alias DISCDLGSTRUCTW
* LPDISCDLGSTRUCTW
;
262 struct UNIVERSAL_NAME_INFOA
{
263 LPSTR lpUniversalName
;
265 alias UNIVERSAL_NAME_INFOA
* LPUNIVERSAL_NAME_INFOA
;
267 struct UNIVERSAL_NAME_INFOW
{
268 LPWSTR lpUniversalName
;
270 alias UNIVERSAL_NAME_INFOW
* LPUNIVERSAL_NAME_INFOW
;
272 struct REMOTE_NAME_INFOA
{
273 LPSTR lpUniversalName
;
274 LPSTR lpConnectionName
;
275 LPSTR lpRemainingPath
;
277 alias REMOTE_NAME_INFOA
* LPREMOTE_NAME_INFOA
;
279 struct REMOTE_NAME_INFOW
{
280 LPWSTR lpUniversalName
;
281 LPWSTR lpConnectionName
;
282 LPWSTR lpRemainingPath
;
284 alias REMOTE_NAME_INFOW
* LPREMOTE_NAME_INFOW
;
286 struct NETINFOSTRUCT
{
288 DWORD dwProviderVersion
;
290 DWORD dwCharacteristics
;
296 alias NETINFOSTRUCT
* LPNETINFOSTRUCT
;
299 alias UINT
function(LPCSTR
, LPSTR
, UINT
) PFNGETPROFILEPATHA
;
300 alias UINT
function(LPCWSTR
, LPWSTR
, UINT
) PFNGETPROFILEPATHW
;
301 alias UINT
function(LPCSTR
, LPCSTR
, DWORD
) PFNRECONCILEPROFILEA
;
302 alias UINT
function(LPCWSTR
, LPCWSTR
, DWORD
) PFNRECONCILEPROFILEW
;
303 alias BOOL
function(HWND
, LPCSTR
, LPCSTR
, LPCSTR
, DWORD
)
305 alias BOOL
function(HWND
, LPCWSTR
, LPCWSTR
, LPCWSTR
, DWORD
)
309 struct NETCONNECTINFOSTRUCT
{
316 alias NETCONNECTINFOSTRUCT
* LPNETCONNECTINFOSTRUCT
;
319 DWORD
WNetAddConnection2A(LPNETRESOURCEA
, LPCSTR
, LPCSTR
, DWORD
);
320 DWORD
WNetAddConnection2W(LPNETRESOURCEW
, LPCWSTR
, LPCWSTR
, DWORD
);
321 DWORD
WNetAddConnection3A(HWND
, LPNETRESOURCEA
, LPCSTR
, LPCSTR
, DWORD
);
322 DWORD
WNetAddConnection3W(HWND
, LPNETRESOURCEW
, LPCWSTR
, LPCWSTR
, DWORD
);
323 DWORD
WNetCancelConnection2A(LPCSTR
, DWORD
, BOOL
);
324 DWORD
WNetCancelConnection2W(LPCWSTR
, DWORD
, BOOL
);
325 DWORD
WNetGetConnectionA(LPCSTR
, LPSTR
, PDWORD
);
326 DWORD
WNetGetConnectionW(LPCWSTR
, LPWSTR
, PDWORD
);
327 DWORD
WNetUseConnectionA(HWND
, LPNETRESOURCEA
, LPCSTR
, LPCSTR
, DWORD
,
328 LPSTR
, PDWORD
, PDWORD
);
329 DWORD
WNetUseConnectionW(HWND
, LPNETRESOURCEW
, LPCWSTR
, LPCWSTR
, DWORD
,
330 LPWSTR
, PDWORD
, PDWORD
);
331 DWORD
WNetSetConnectionA(LPCSTR
, DWORD
, PVOID
);
332 DWORD
WNetSetConnectionW(LPCWSTR
, DWORD
, PVOID
);
333 DWORD
WNetConnectionDialog(HWND
, DWORD
);
334 DWORD
WNetDisconnectDialog(HWND
, DWORD
);
335 DWORD
WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA
);
336 DWORD
WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW
);
337 DWORD
WNetDisconnectDialog1A(LPDISCDLGSTRUCTA
);
338 DWORD
WNetDisconnectDialog1W(LPDISCDLGSTRUCTW
);
339 DWORD
WNetOpenEnumA(DWORD
, DWORD
, DWORD
, LPNETRESOURCEA
, LPHANDLE
);
340 DWORD
WNetOpenEnumW(DWORD
, DWORD
, DWORD
, LPNETRESOURCEW
, LPHANDLE
);
341 DWORD
WNetEnumResourceA(HANDLE
, PDWORD
, PVOID
, PDWORD
);
342 DWORD
WNetEnumResourceW(HANDLE
, PDWORD
, PVOID
, PDWORD
);
343 DWORD
WNetCloseEnum(HANDLE
);
344 DWORD
WNetGetUniversalNameA(LPCSTR
, DWORD
, PVOID
, PDWORD
);
345 DWORD
WNetGetUniversalNameW(LPCWSTR
, DWORD
, PVOID
, PDWORD
);
346 DWORD
WNetGetUserA(LPCSTR
, LPSTR
, PDWORD
);
347 DWORD
WNetGetUserW(LPCWSTR
, LPWSTR
, PDWORD
);
348 DWORD
WNetGetProviderNameA(DWORD
, LPSTR
, PDWORD
);
349 DWORD
WNetGetProviderNameW(DWORD
, LPWSTR
, PDWORD
);
350 DWORD
WNetGetNetworkInformationA(LPCSTR
, LPNETINFOSTRUCT
);
351 DWORD
WNetGetNetworkInformationW(LPCWSTR
, LPNETINFOSTRUCT
);
352 DWORD
WNetGetResourceInformationA(LPNETRESOURCEA
, LPVOID
, LPDWORD
,
354 DWORD
WNetGetResourceInformationW(LPNETRESOURCEA
, LPVOID
, LPDWORD
,
356 DWORD
WNetGetResourceParentA(LPNETRESOURCEA
, LPVOID
, LPDWORD
);
357 DWORD
WNetGetResourceParentW(LPNETRESOURCEW
, LPVOID
, LPDWORD
);
358 DWORD
WNetGetLastErrorA(PDWORD
, LPSTR
, DWORD
, LPSTR
, DWORD
);
359 DWORD
WNetGetLastErrorW(PDWORD
, LPWSTR
, DWORD
, LPWSTR
, DWORD
);
360 DWORD
MultinetGetConnectionPerformanceA(LPNETRESOURCEA
,
361 LPNETCONNECTINFOSTRUCT
);
362 DWORD
MultinetGetConnectionPerformanceW(LPNETRESOURCEW
,
363 LPNETCONNECTINFOSTRUCT
);
365 DWORD
WNetAddConnectionA(LPCSTR
, LPCSTR
, LPCSTR
);
366 DWORD
WNetAddConnectionW(LPCWSTR
, LPCWSTR
, LPCWSTR
);
367 DWORD
WNetCancelConnectionA(LPCSTR
, BOOL
);
368 DWORD
WNetCancelConnectionW(LPCWSTR
, BOOL
);
373 alias PFNGETPROFILEPATHW PFNGETPROFILEPATH
;
374 alias PFNRECONCILEPROFILEW PFNRECONCILEPROFILE
;
375 alias PFNPROCESSPOLICIESW PFNPROCESSPOLICIES
;
376 alias NETRESOURCEW NETRESOURCE
;
377 alias CONNECTDLGSTRUCTW CONNECTDLGSTRUCT
;
378 alias DISCDLGSTRUCTW DISCDLGSTRUCT
;
379 alias REMOTE_NAME_INFOW REMOTE_NAME_INFO
;
380 alias UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO
;
381 alias WNetAddConnection2W WNetAddConnection2
;
382 alias WNetAddConnection3W WNetAddConnection3
;
383 alias WNetCancelConnection2W WNetCancelConnection2
;
384 alias WNetGetConnectionW WNetGetConnection
;
385 alias WNetUseConnectionW WNetUseConnection
;
386 alias WNetSetConnectionW WNetSetConnection
;
387 alias WNetConnectionDialog1W WNetConnectionDialog1
;
388 alias WNetDisconnectDialog1W WNetDisconnectDialog1
;
389 alias WNetOpenEnumW WNetOpenEnum
;
390 alias WNetEnumResourceW WNetEnumResource
;
391 alias WNetGetUniversalNameW WNetGetUniversalName
;
392 alias WNetGetUserW WNetGetUser
;
393 alias WNetGetProviderNameW WNetGetProviderName
;
394 alias WNetGetNetworkInformationW WNetGetNetworkInformation
;
395 alias WNetGetResourceInformationW WNetGetResourceInformation
;
396 alias WNetGetResourceParentW WNetGetResourceParent
;
397 alias WNetGetLastErrorW WNetGetLastError
;
398 alias MultinetGetConnectionPerformanceW MultinetGetConnectionPerformance
;
400 alias WNetAddConnectionW WNetAddConnection
;
401 alias WNetCancelConnectionW WNetCancelConnection
;
404 alias PFNGETPROFILEPATHA PFNGETPROFILEPATH
;
405 alias PFNRECONCILEPROFILEA PFNRECONCILEPROFILE
;
406 alias PFNPROCESSPOLICIESA PFNPROCESSPOLICIES
;
407 alias NETRESOURCEA NETRESOURCE
;
408 alias CONNECTDLGSTRUCTA CONNECTDLGSTRUCT
;
409 alias DISCDLGSTRUCTA DISCDLGSTRUCT
;
410 alias REMOTE_NAME_INFOA REMOTE_NAME_INFO
;
411 alias UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO
;
412 alias WNetAddConnection2A WNetAddConnection2
;
413 alias WNetAddConnection3A WNetAddConnection3
;
414 alias WNetCancelConnection2A WNetCancelConnection2
;
415 alias WNetGetConnectionA WNetGetConnection
;
416 alias WNetUseConnectionA WNetUseConnection
;
417 alias WNetSetConnectionA WNetSetConnection
;
418 alias WNetConnectionDialog1A WNetConnectionDialog1
;
419 alias WNetDisconnectDialog1A WNetDisconnectDialog1
;
420 alias WNetOpenEnumA WNetOpenEnum
;
421 alias WNetEnumResourceA WNetEnumResource
;
422 alias WNetGetUniversalNameA WNetGetUniversalName
;
423 alias WNetGetUserA WNetGetUser
;
424 alias WNetGetProviderNameA WNetGetProviderName
;
425 alias WNetGetNetworkInformationA WNetGetNetworkInformation
;
426 alias WNetGetResourceInformationA WNetGetResourceInformation
;
427 alias WNetGetResourceParentA WNetGetResourceParent
;
428 alias WNetGetLastErrorA WNetGetLastError
;
429 alias MultinetGetConnectionPerformanceA MultinetGetConnectionPerformance
;
431 alias WNetAddConnectionA WNetAddConnection
;
432 alias WNetCancelConnectionA WNetCancelConnection
;
436 alias NETRESOURCE
* LPNETRESOURCE
;
437 alias CONNECTDLGSTRUCT
* LPCONNECTDLGSTRUCT
;
438 alias DISCDLGSTRUCT
* LPDISCDLGSTRUCT
;
439 alias REMOTE_NAME_INFO
* LPREMOTE_NAME_INFO
;
440 alias UNIVERSAL_NAME_INFO
* LPUNIVERSAL_NAME_INFO
;