1#![cfg(windows)]
5extern crate winapi;
6use winapi::*;
7extern "system" {
8 pub fn MultinetGetConnectionPerformanceA(
9 lpNetResource: LPNETRESOURCEA, lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT,
10 ) -> DWORD;
11 pub fn MultinetGetConnectionPerformanceW(
12 lpNetResource: LPNETRESOURCEW, lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT,
13 ) -> DWORD;
14 pub fn WNetAddConnection2A(
15 lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUsername: LPCSTR, dwFlags: DWORD,
16 ) -> DWORD;
17 pub fn WNetAddConnection2W(
18 lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUsername: LPCWSTR, dwFlags: DWORD,
19 ) -> DWORD;
20 pub fn WNetAddConnection3A(
21 hwndOwner: HWND, lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUsername: LPCSTR,
22 dwFlags: DWORD,
23 ) -> DWORD;
24 pub fn WNetAddConnection3W(
25 hwndOwner: HWND, lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUsername: LPCWSTR,
26 dwFlags: DWORD,
27 ) -> DWORD;
28 pub fn WNetCancelConnectionA(lpName: LPCSTR, fForce: BOOL) -> DWORD;
29 pub fn WNetCancelConnectionW(lpName: LPCWSTR, fForce: BOOL) -> DWORD;
30 pub fn WNetCancelConnection2A(lpName: LPCSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD;
31 pub fn WNetCancelConnection2W(lpName: LPCWSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD;
32 pub fn WNetCloseEnum(hEnum: HANDLE) -> DWORD;
33 pub fn WNetConnectionDialog(hwnd: HWND, dwType: DWORD) -> DWORD;
34 pub fn WNetConnectionDialog1A(lpConnDlgStruct: LPCONNECTDLGSTRUCTA) -> DWORD;
35 pub fn WNetConnectionDialog1W(lpConnDlgStruct: LPCONNECTDLGSTRUCTW) -> DWORD;
36 pub fn WNetDisconnectDialog(hwnd: HWND, dwType: DWORD) -> DWORD;
37 pub fn WNetDisconnectDialog1A(lpConnDlgStruct: LPDISCDLGSTRUCTA) -> DWORD;
38 pub fn WNetDisconnectDialog1W(lpConnDlgStruct: LPDISCDLGSTRUCTW) -> DWORD;
39 pub fn WNetEnumResourceA(
40 hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
41 ) -> DWORD;
42 pub fn WNetEnumResourceW(
43 hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
44 ) -> DWORD;
45 pub fn WNetGetConnectionA(
46 lpLocalName: LPCSTR, lpRemoteName: LPSTR, lpnLength: LPDWORD,
47 ) -> DWORD;
48 pub fn WNetGetConnectionW(
49 lpLocalName: LPCWSTR, lpRemoteName: LPWSTR, lpnLength: LPDWORD,
50 ) -> DWORD;
51 pub fn WNetGetLastErrorA(
52 lpError: LPDWORD, lpErrorBuf: LPSTR, nErrorBufSize: DWORD, lpNameBuf: LPSTR,
53 nNameBufSize: DWORD,
54 ) -> DWORD;
55 pub fn WNetGetLastErrorW(
56 lpError: LPDWORD, lpErrorBuf: LPWSTR, nErrorBufSize: DWORD, lpNameBuf: LPWSTR,
57 nNameBufSize: DWORD,
58 ) -> DWORD;
59 pub fn WNetGetNetworkInformationA(
60 lpProvider: LPCSTR, lpNetInfoStruct: LPNETINFOSTRUCT,
61 ) -> DWORD;
62 pub fn WNetGetNetworkInformationW(
63 lpProvider: LPCWSTR, lpNetInfoStruct: LPNETINFOSTRUCT,
64 ) -> DWORD;
65 pub fn WNetGetProviderNameA(
66 dwNetType: DWORD, lpProviderName: LPSTR, lpBufferSize: LPDWORD,
67 ) -> DWORD;
68 pub fn WNetGetProviderNameW(
69 dwNetType: DWORD, lpProviderName: LPWSTR, lpBufferSize: LPDWORD,
70 ) -> DWORD;
71 pub fn WNetGetResourceInformationA(
72 lpNetResource: LPNETRESOURCEA, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
73 lplpSystem: *mut LPSTR,
74 ) -> DWORD;
75 pub fn WNetGetResourceInformationW(
76 lpNetResource: LPNETRESOURCEW, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
77 lplpSystem: *mut LPWSTR,
78 ) -> DWORD;
79 pub fn WNetGetResourceParentA(
80 lpNetResource: LPNETRESOURCEA, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
81 ) -> DWORD;
82 pub fn WNetGetResourceParentW(
83 lpNetResource: LPNETRESOURCEW, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
84 ) -> DWORD;
85 pub fn WNetGetUniversalNameA(
86 lpLocalPath: LPCSTR, dwInfoLevel: DWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
87 ) -> DWORD;
88 pub fn WNetGetUniversalNameW(
89 lpLocalPath: LPCWSTR, dwInfoLevel: DWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
90 ) -> DWORD;
91 pub fn WNetGetUserA(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD) -> DWORD;
92 pub fn WNetGetUserW(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD) -> DWORD;
93 pub fn WNetOpenEnumA(
94 dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, lpNetResource: LPNETRESOURCEA,
95 lphEnum: LPHANDLE,
96 ) -> DWORD;
97 pub fn WNetOpenEnumW(
98 dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, lpNetResource: LPNETRESOURCEW,
99 lphEnum: LPHANDLE,
100 ) -> DWORD;
101 pub fn WNetUseConnectionA(
102 hwndOwner: HWND, lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUserId: LPCSTR,
103 dwFlags: DWORD, lpAccessName: LPSTR, lpBufferSize: LPDWORD, lpResult: LPDWORD
104 ) -> DWORD;
105 pub fn WNetUseConnectionW(
106 hwndOwner: HWND, lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUserId: LPCWSTR,
107 dwFlags: DWORD, lpAccessName: LPWSTR, lpBufferSize: LPDWORD, lpResult: LPDWORD,
108 ) -> DWORD;
109}