Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /**
  2.  * This file has no copyright assigned and is placed in the Public Domain.
  3.  * This file is part of the w64 mingw-runtime package.
  4.  * No warranty is given; refer to the file DISCLAIMER within this package.
  5.  */
  6. #ifndef _WINNETWK_
  7. #define _WINNETWK_
  8.  
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12.  
  13. #define WNNC_NET_MSNET 0x00010000
  14. #define WNNC_NET_LANMAN 0x00020000
  15. #define WNNC_NET_NETWARE 0x00030000
  16. #define WNNC_NET_VINES 0x00040000
  17. #define WNNC_NET_10NET 0x00050000
  18. #define WNNC_NET_LOCUS 0x00060000
  19. #define WNNC_NET_SUN_PC_NFS 0x00070000
  20. #define WNNC_NET_LANSTEP 0x00080000
  21. #define WNNC_NET_9TILES 0x00090000
  22. #define WNNC_NET_LANTASTIC 0x000A0000
  23. #define WNNC_NET_AS400 0x000B0000
  24. #define WNNC_NET_FTP_NFS 0x000C0000
  25. #define WNNC_NET_PATHWORKS 0x000D0000
  26. #define WNNC_NET_LIFENET 0x000E0000
  27. #define WNNC_NET_POWERLAN 0x000F0000
  28. #define WNNC_NET_BWNFS 0x00100000
  29. #define WNNC_NET_COGENT 0x00110000
  30. #define WNNC_NET_FARALLON 0x00120000
  31. #define WNNC_NET_APPLETALK 0x00130000
  32. #define WNNC_NET_INTERGRAPH 0x00140000
  33. #define WNNC_NET_SYMFONET 0x00150000
  34. #define WNNC_NET_CLEARCASE 0x00160000
  35. #define WNNC_NET_FRONTIER 0x00170000
  36. #define WNNC_NET_BMC 0x00180000
  37. #define WNNC_NET_DCE 0x00190000
  38. #define WNNC_NET_AVID 0x001A0000
  39. #define WNNC_NET_DOCUSPACE 0x001B0000
  40. #define WNNC_NET_MANGOSOFT 0x001C0000
  41. #define WNNC_NET_SERNET 0x001D0000
  42. #define WNNC_NET_RIVERFRONT1 0X001E0000
  43. #define WNNC_NET_RIVERFRONT2 0x001F0000
  44. #define WNNC_NET_DECORB 0x00200000
  45. #define WNNC_NET_PROTSTOR 0x00210000
  46. #define WNNC_NET_FJ_REDIR 0x00220000
  47. #define WNNC_NET_DISTINCT 0x00230000
  48. #define WNNC_NET_TWINS 0x00240000
  49. #define WNNC_NET_RDR2SAMPLE 0x00250000
  50. #define WNNC_NET_CSC 0x00260000
  51. #define WNNC_NET_3IN1 0x00270000
  52. #define WNNC_NET_EXTENDNET 0x00290000
  53. #define WNNC_NET_STAC 0x002A0000
  54. #define WNNC_NET_FOXBAT 0x002B0000
  55. #define WNNC_NET_YAHOO 0x002C0000
  56. #define WNNC_NET_EXIFS 0x002D0000
  57. #define WNNC_NET_DAV 0x002E0000
  58. #define WNNC_NET_KNOWARE 0x002F0000
  59. #define WNNC_NET_OBJECT_DIRE 0x00300000
  60. #define WNNC_NET_MASFAX 0x00310000
  61. #define WNNC_NET_HOB_NFS 0x00320000
  62. #define WNNC_NET_SHIVA 0x00330000
  63. #define WNNC_NET_IBMAL 0x00340000
  64. #define WNNC_NET_LOCK 0x00350000
  65. #define WNNC_NET_TERMSRV 0x00360000
  66. #define WNNC_NET_SRT 0x00370000
  67. #define WNNC_NET_QUINCY 0x00380000
  68.  
  69. #define WNNC_CRED_MANAGER 0xFFFF0000
  70.  
  71. #define RESOURCE_CONNECTED 0x00000001
  72. #define RESOURCE_GLOBALNET 0x00000002
  73. #define RESOURCE_REMEMBERED 0x00000003
  74. #define RESOURCE_RECENT 0x00000004
  75. #define RESOURCE_CONTEXT 0x00000005
  76.  
  77. #define RESOURCETYPE_ANY 0x00000000
  78. #define RESOURCETYPE_DISK 0x00000001
  79. #define RESOURCETYPE_PRINT 0x00000002
  80. #define RESOURCETYPE_RESERVED 0x00000008
  81. #define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
  82.  
  83. #define RESOURCEUSAGE_CONNECTABLE 0x00000001
  84. #define RESOURCEUSAGE_CONTAINER 0x00000002
  85. #define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
  86. #define RESOURCEUSAGE_SIBLING 0x00000008
  87. #define RESOURCEUSAGE_ATTACHED 0x00000010
  88. #define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
  89. #define RESOURCEUSAGE_RESERVED 0x80000000
  90.  
  91. #define RESOURCEDISPLAYTYPE_GENERIC 0x00000000
  92. #define RESOURCEDISPLAYTYPE_DOMAIN 0x00000001
  93. #define RESOURCEDISPLAYTYPE_SERVER 0x00000002
  94. #define RESOURCEDISPLAYTYPE_SHARE 0x00000003
  95. #define RESOURCEDISPLAYTYPE_FILE 0x00000004
  96. #define RESOURCEDISPLAYTYPE_GROUP 0x00000005
  97. #define RESOURCEDISPLAYTYPE_NETWORK 0x00000006
  98. #define RESOURCEDISPLAYTYPE_ROOT 0x00000007
  99. #define RESOURCEDISPLAYTYPE_SHAREADMIN 0x00000008
  100. #define RESOURCEDISPLAYTYPE_DIRECTORY 0x00000009
  101. #define RESOURCEDISPLAYTYPE_TREE 0x0000000A
  102. #define RESOURCEDISPLAYTYPE_NDSCONTAINER 0x0000000B
  103.  
  104.   typedef struct _NETRESOURCEA {
  105.     DWORD dwScope;
  106.     DWORD dwType;
  107.     DWORD dwDisplayType;
  108.     DWORD dwUsage;
  109.     LPSTR lpLocalName;
  110.     LPSTR lpRemoteName;
  111.     LPSTR lpComment;
  112.     LPSTR lpProvider;
  113.   }NETRESOURCEA,*LPNETRESOURCEA;
  114.   typedef struct _NETRESOURCEW {
  115.     DWORD dwScope;
  116.     DWORD dwType;
  117.     DWORD dwDisplayType;
  118.     DWORD dwUsage;
  119.     LPWSTR lpLocalName;
  120.     LPWSTR lpRemoteName;
  121.     LPWSTR lpComment;
  122.     LPWSTR lpProvider;
  123.   }NETRESOURCEW,*LPNETRESOURCEW;
  124. #ifdef UNICODE
  125.   typedef NETRESOURCEW NETRESOURCE;
  126.   typedef LPNETRESOURCEW LPNETRESOURCE;
  127. #else
  128.   typedef NETRESOURCEA NETRESOURCE;
  129.   typedef LPNETRESOURCEA LPNETRESOURCE;
  130. #endif
  131.  
  132. #define NETPROPERTY_PERSISTENT 1
  133.  
  134. #define CONNECT_UPDATE_PROFILE 0x00000001
  135. #define CONNECT_UPDATE_RECENT 0x00000002
  136. #define CONNECT_TEMPORARY 0x00000004
  137. #define CONNECT_INTERACTIVE 0x00000008
  138. #define CONNECT_PROMPT 0x00000010
  139. #define CONNECT_NEED_DRIVE 0x00000020
  140. #define CONNECT_REFCOUNT 0x00000040
  141. #define CONNECT_REDIRECT 0x00000080
  142. #define CONNECT_LOCALDRIVE 0x00000100
  143. #define CONNECT_CURRENT_MEDIA 0x00000200
  144. #define CONNECT_DEFERRED 0x00000400
  145. #define CONNECT_RESERVED 0xFF000000
  146. #define CONNECT_COMMANDLINE 0x00000800
  147. #define CONNECT_CMD_SAVECRED 0x00001000
  148.  
  149. #ifdef UNICODE
  150. #define WNetAddConnection WNetAddConnectionW
  151. #define WNetAddConnection2 WNetAddConnection2W
  152. #define WNetAddConnection3 WNetAddConnection3W
  153. #define WNetCancelConnection WNetCancelConnectionW
  154. #define WNetCancelConnection2 WNetCancelConnection2W
  155. #define WNetGetConnection WNetGetConnectionW
  156. #define WNetRestoreConnection WNetRestoreConnectionW
  157. #define WNetUseConnection WNetUseConnectionW
  158. #else
  159. #define WNetAddConnection WNetAddConnectionA
  160. #define WNetAddConnection2 WNetAddConnection2A
  161. #define WNetAddConnection3 WNetAddConnection3A
  162. #define WNetCancelConnection WNetCancelConnectionA
  163. #define WNetCancelConnection2 WNetCancelConnection2A
  164. #define WNetGetConnection WNetGetConnectionA
  165. #define WNetRestoreConnection WNetRestoreConnectionA
  166. #define WNetUseConnection WNetUseConnectionA
  167. #endif
  168.  
  169.   DWORD WINAPI WNetAddConnectionA(LPCSTR lpRemoteName,LPCSTR lpPassword,LPCSTR lpLocalName);
  170.   DWORD WINAPI WNetAddConnectionW(LPCWSTR lpRemoteName,LPCWSTR lpPassword,LPCWSTR lpLocalName);
  171.   DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
  172.   DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
  173.   DWORD WINAPI WNetAddConnection3A(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
  174.   DWORD WINAPI WNetAddConnection3W(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
  175.   DWORD WINAPI WNetCancelConnectionA(LPCSTR lpName,WINBOOL fForce);
  176.   DWORD WINAPI WNetCancelConnectionW(LPCWSTR lpName,WINBOOL fForce);
  177.   DWORD WINAPI WNetCancelConnection2A(LPCSTR lpName,DWORD dwFlags,WINBOOL fForce);
  178.   DWORD WINAPI WNetCancelConnection2W(LPCWSTR lpName,DWORD dwFlags,WINBOOL fForce);
  179.   DWORD WINAPI WNetGetConnectionA(LPCSTR lpLocalName,LPSTR lpRemoteName,LPDWORD lpnLength);
  180.   DWORD WINAPI WNetGetConnectionW(LPCWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnLength);
  181.   DWORD WINAPI WNetRestoreConnectionA(HWND hwndParent,LPCSTR lpDevice);
  182.   DWORD WINAPI WNetRestoreConnectionW(HWND hwndParent,LPCWSTR lpDevice);
  183.   DWORD WINAPI WNetUseConnectionA(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserID,DWORD dwFlags,LPSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
  184.   DWORD WINAPI WNetUseConnectionW(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserID,DWORD dwFlags,LPWSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
  185.   DWORD WINAPI WNetConnectionDialog(HWND hwnd,DWORD dwType);
  186.   DWORD WINAPI WNetDisconnectDialog(HWND hwnd,DWORD dwType);
  187.  
  188.   typedef struct _CONNECTDLGSTRUCTA {
  189.     DWORD cbStructure;
  190.     HWND hwndOwner;
  191.     LPNETRESOURCEA lpConnRes;
  192.     DWORD dwFlags;
  193.     DWORD dwDevNum;
  194.   } CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
  195.  
  196.   typedef struct _CONNECTDLGSTRUCTW {
  197.     DWORD cbStructure;
  198.     HWND hwndOwner;
  199.     LPNETRESOURCEW lpConnRes;
  200.     DWORD dwFlags;
  201.     DWORD dwDevNum;
  202.   } CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
  203. #ifdef UNICODE
  204.   typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT;
  205.   typedef LPCONNECTDLGSTRUCTW LPCONNECTDLGSTRUCT;
  206. #else
  207.   typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT;
  208.   typedef LPCONNECTDLGSTRUCTA LPCONNECTDLGSTRUCT;
  209. #endif
  210.  
  211. #define CONNDLG_RO_PATH 0x00000001
  212. #define CONNDLG_CONN_POINT 0x00000002
  213. #define CONNDLG_USE_MRU 0x00000004
  214. #define CONNDLG_HIDE_BOX 0x00000008
  215.  
  216. #define CONNDLG_PERSIST 0x00000010
  217. #define CONNDLG_NOT_PERSIST 0x00000020
  218.  
  219. #ifdef UNICODE
  220. #define WNetConnectionDialog1 WNetConnectionDialog1W
  221. #else
  222. #define WNetConnectionDialog1 WNetConnectionDialog1A
  223. #endif
  224.  
  225.   DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA lpConnDlgStruct);
  226.   DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct);
  227.  
  228.   typedef struct _DISCDLGSTRUCTA {
  229.     DWORD cbStructure;
  230.     HWND hwndOwner;
  231.     LPSTR lpLocalName;
  232.     LPSTR lpRemoteName;
  233.     DWORD dwFlags;
  234.   } DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
  235.  
  236.   typedef struct _DISCDLGSTRUCTW {
  237.     DWORD cbStructure;
  238.     HWND hwndOwner;
  239.     LPWSTR lpLocalName;
  240.     LPWSTR lpRemoteName;
  241.     DWORD dwFlags;
  242.   } DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
  243.  
  244. #ifdef UNICODE
  245.   typedef DISCDLGSTRUCTW DISCDLGSTRUCT;
  246.   typedef LPDISCDLGSTRUCTW LPDISCDLGSTRUCT;
  247. #else
  248.   typedef DISCDLGSTRUCTA DISCDLGSTRUCT;
  249.   typedef LPDISCDLGSTRUCTA LPDISCDLGSTRUCT;
  250. #endif
  251.  
  252. #define DISC_UPDATE_PROFILE 0x00000001
  253. #define DISC_NO_FORCE 0x00000040
  254.  
  255. #ifdef UNICODE
  256. #define WNetDisconnectDialog1 WNetDisconnectDialog1W
  257. #define WNetOpenEnum WNetOpenEnumW
  258. #define WNetEnumResource WNetEnumResourceW
  259. #define WNetGetResourceParent WNetGetResourceParentW
  260. #define WNetGetResourceInformation WNetGetResourceInformationW
  261. #else
  262. #define WNetDisconnectDialog1 WNetDisconnectDialog1A
  263. #define WNetOpenEnum WNetOpenEnumA
  264. #define WNetEnumResource WNetEnumResourceA
  265. #define WNetGetResourceParent WNetGetResourceParentA
  266. #define WNetGetResourceInformation WNetGetResourceInformationA
  267. #endif
  268.  
  269.   DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA lpConnDlgStruct);
  270.   DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct);
  271.   DWORD WINAPI WNetOpenEnumA(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEA lpNetResource,LPHANDLE lphEnum);
  272.   DWORD WINAPI WNetOpenEnumW(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
  273.   DWORD WINAPI WNetEnumResourceA(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
  274.   DWORD WINAPI WNetEnumResourceW(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
  275.   DWORD WINAPI WNetCloseEnum(HANDLE hEnum);
  276.   DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
  277.   DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
  278.   DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPSTR *lplpSystem);
  279.   DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPWSTR *lplpSystem);
  280.  
  281. #define UNIVERSAL_NAME_INFO_LEVEL 0x00000001
  282. #define REMOTE_NAME_INFO_LEVEL 0x00000002
  283.  
  284.   typedef struct _UNIVERSAL_NAME_INFOA {
  285.     LPSTR lpUniversalName;
  286.   } UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
  287.  
  288.   typedef struct _UNIVERSAL_NAME_INFOW {
  289.     LPWSTR lpUniversalName;
  290.   } UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
  291.  
  292. #ifdef UNICODE
  293.   typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO;
  294.   typedef LPUNIVERSAL_NAME_INFOW LPUNIVERSAL_NAME_INFO;
  295. #else
  296.   typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO;
  297.   typedef LPUNIVERSAL_NAME_INFOA LPUNIVERSAL_NAME_INFO;
  298. #endif
  299.  
  300.   typedef struct _REMOTE_NAME_INFOA {
  301.     LPSTR lpUniversalName;
  302.     LPSTR lpConnectionName;
  303.     LPSTR lpRemainingPath;
  304.   } REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
  305.  
  306.   typedef struct _REMOTE_NAME_INFOW {
  307.     LPWSTR lpUniversalName;
  308.     LPWSTR lpConnectionName;
  309.     LPWSTR lpRemainingPath;
  310.   } REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
  311.  
  312. #ifdef UNICODE
  313.   typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO;
  314.   typedef LPREMOTE_NAME_INFOW LPREMOTE_NAME_INFO;
  315. #else
  316.   typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO;
  317.   typedef LPREMOTE_NAME_INFOA LPREMOTE_NAME_INFO;
  318. #endif
  319.  
  320. #ifdef UNICODE
  321. #define WNetGetUniversalName WNetGetUniversalNameW
  322. #define WNetGetUser WNetGetUserW
  323. #define WNetGetProviderName WNetGetProviderNameW
  324. #else
  325. #define WNetGetUniversalName WNetGetUniversalNameA
  326. #define WNetGetUser WNetGetUserA
  327. #define WNetGetProviderName WNetGetProviderNameA
  328. #endif
  329.  
  330.   DWORD WINAPI WNetGetUniversalNameA(LPCSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
  331.   DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
  332.   DWORD WINAPI WNetGetUserA(LPCSTR lpName,LPSTR lpUserName,LPDWORD lpnLength);
  333.   DWORD WINAPI WNetGetUserW(LPCWSTR lpName,LPWSTR lpUserName,LPDWORD lpnLength);
  334.  
  335. #define WNFMT_MULTILINE 0x01
  336. #define WNFMT_ABBREVIATED 0x02
  337. #define WNFMT_INENUM 0x10
  338. #define WNFMT_CONNECTION 0x20
  339.  
  340.   DWORD WINAPI WNetGetProviderNameA(DWORD dwNetType,LPSTR lpProviderName,LPDWORD lpBufferSize);
  341.   DWORD WINAPI WNetGetProviderNameW(DWORD dwNetType,LPWSTR lpProviderName,LPDWORD lpBufferSize);
  342.  
  343.   typedef struct _NETINFOSTRUCT {
  344.     DWORD cbStructure;
  345.     DWORD dwProviderVersion;
  346.     DWORD dwStatus;
  347.     DWORD dwCharacteristics;
  348.     ULONG_PTR dwHandle;
  349.     WORD wNetType;
  350.     DWORD dwPrinters;
  351.     DWORD dwDrives;
  352.   } NETINFOSTRUCT,*LPNETINFOSTRUCT;
  353.  
  354. #define NETINFO_DLL16 0x00000001
  355. #define NETINFO_DISKRED 0x00000004
  356. #define NETINFO_PRINTERRED 0x00000008
  357.  
  358. #ifdef UNICODE
  359. #define WNetGetNetworkInformation WNetGetNetworkInformationW
  360. #else
  361. #define WNetGetNetworkInformation WNetGetNetworkInformationA
  362. #endif
  363.  
  364.   DWORD WINAPI WNetGetNetworkInformationA(LPCSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
  365.   DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
  366.  
  367.   typedef UINT (WINAPI *PFNGETPROFILEPATHA) (LPCSTR pszUsername,LPSTR pszBuffer,UINT cbBuffer);
  368.   typedef UINT (WINAPI *PFNGETPROFILEPATHW) (LPCWSTR pszUsername,LPWSTR pszBuffer,UINT cbBuffer);
  369.  
  370. #ifdef UNICODE
  371. #define PFNGETPROFILEPATH PFNGETPROFILEPATHW
  372. #else
  373. #define PFNGETPROFILEPATH PFNGETPROFILEPATHA
  374. #endif
  375.  
  376.   typedef UINT (WINAPI *PFNRECONCILEPROFILEA) (LPCSTR pszCentralFile,LPCSTR pszLocalFile,DWORD dwFlags);
  377.   typedef UINT (WINAPI *PFNRECONCILEPROFILEW) (LPCWSTR pszCentralFile,LPCWSTR pszLocalFile,DWORD dwFlags);
  378.  
  379. #ifdef UNICODE
  380. #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
  381. #else
  382. #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
  383. #endif
  384.  
  385. #define RP_LOGON 0x01
  386. #define RP_INIFILE 0x02
  387.  
  388.   typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESA) (HWND hwnd,LPCSTR pszPath,LPCSTR pszUsername,LPCSTR pszComputerName,DWORD dwFlags);
  389.   typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESW) (HWND hwnd,LPCWSTR pszPath,LPCWSTR pszUsername,LPCWSTR pszComputerName,DWORD dwFlags);
  390.  
  391. #ifdef UNICODE
  392. #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
  393. #else
  394. #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
  395. #endif
  396.  
  397. #define PP_DISPLAYERRORS 0x01
  398.  
  399. #ifdef UNICODE
  400. #define WNetGetLastError WNetGetLastErrorW
  401. #else
  402. #define WNetGetLastError WNetGetLastErrorA
  403. #endif
  404.  
  405.   DWORD WINAPI WNetGetLastErrorA(LPDWORD lpError,LPSTR lpErrorBuf,DWORD nErrorBufSize,LPSTR lpNameBuf,DWORD nNameBufSize);
  406.   DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError,LPWSTR lpErrorBuf,DWORD nErrorBufSize,LPWSTR lpNameBuf,DWORD nNameBufSize);
  407.  
  408. #define WN_SUCCESS NO_ERROR
  409. #define WN_NO_ERROR NO_ERROR
  410. #define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
  411. #define WN_CANCEL ERROR_CANCELLED
  412. #define WN_RETRY ERROR_RETRY
  413. #define WN_NET_ERROR ERROR_UNEXP_NET_ERR
  414. #define WN_MORE_DATA ERROR_MORE_DATA
  415. #define WN_BAD_POINTER ERROR_INVALID_ADDRESS
  416. #define WN_BAD_VALUE ERROR_INVALID_PARAMETER
  417. #define WN_BAD_USER ERROR_BAD_USERNAME
  418. #define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
  419. #define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
  420. #define WN_FUNCTION_BUSY ERROR_BUSY
  421. #define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
  422. #define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
  423. #define WN_NO_NETWORK ERROR_NO_NETWORK
  424. #define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
  425. #define WN_BAD_LEVEL ERROR_INVALID_LEVEL
  426. #define WN_BAD_HANDLE ERROR_INVALID_HANDLE
  427. #define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
  428. #define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
  429. #define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
  430. #define WN_OPEN_FILES ERROR_OPEN_FILES
  431. #define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
  432. #define WN_BAD_NETNAME ERROR_BAD_NET_NAME
  433. #define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
  434. #define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
  435. #define WN_DEVICE_ERROR ERROR_GEN_FAILURE
  436. #define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
  437. #define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
  438. #define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
  439. #define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
  440. #define WN_BAD_PROFILE ERROR_BAD_PROFILE
  441. #define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
  442. #define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
  443. #define WN_CONNECTED_OTHER_PASSWORD ERROR_CONNECTED_OTHER_PASSWORD
  444. #define WN_CONNECTED_OTHER_PASSWORD_DEFAULT ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
  445. #define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
  446. #define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
  447. #define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
  448. #define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
  449. #define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
  450.  
  451.   typedef struct _NETCONNECTINFOSTRUCT {
  452.     DWORD cbStructure;
  453.     DWORD dwFlags;
  454.     DWORD dwSpeed;
  455.     DWORD dwDelay;
  456.     DWORD dwOptDataSize;
  457.   } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
  458.  
  459. #define WNCON_FORNETCARD 0x00000001
  460. #define WNCON_NOTROUTED 0x00000002
  461. #define WNCON_SLOWLINK 0x00000004
  462. #define WNCON_DYNAMIC 0x00000008
  463.  
  464. #ifdef UNICODE
  465. #define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
  466. #else
  467. #define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
  468. #endif
  469.  
  470.   DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
  471.   DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
  472.  
  473. #ifdef __cplusplus
  474. }
  475. #endif
  476. #endif
  477.