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