@@ -108,6 +108,15 @@ pub const SECURITY_SQOS_PRESENT: DWORD = 0x00100000;
108108
109109pub const FIONBIO : c_ulong = 0x8004667e ;
110110
111+ pub const CSIDL_PROFILE : c_int = 0x0028 ;
112+
113+ #[ repr( C ) ]
114+ #[ allow( dead_code) ] // we only use some variants
115+ pub enum SHGFP_TYPE {
116+ SHGFP_TYPE_CURRENT = 0 ,
117+ SHGFP_TYPE_DEFAULT = 1
118+ }
119+
111120#[ cfg( target_arch = "arm" ) ]
112121const ARM_MAX_BREAKPOINTS : usize = 8 ;
113122#[ cfg( target_arch = "arm" ) ]
@@ -154,7 +163,6 @@ pub const WSAECONNREFUSED: c_int = 10061;
154163
155164pub const MAX_PROTOCOL_CHAIN : DWORD = 7 ;
156165
157- pub const TOKEN_READ : DWORD = 0x20008 ;
158166pub const MAXIMUM_REPARSE_DATA_BUFFER_SIZE : usize = 16 * 1024 ;
159167pub const FSCTL_GET_REPARSE_POINT : DWORD = 0x900a8 ;
160168pub const IO_REPARSE_TAG_SYMLINK : DWORD = 0xa000000c ;
@@ -1056,9 +1064,6 @@ extern "system" {
10561064 pub fn GetCommandLineW ( ) -> * mut LPCWSTR ;
10571065 pub fn GetTempPathW ( nBufferLength : DWORD ,
10581066 lpBuffer : LPCWSTR ) -> DWORD ;
1059- pub fn OpenProcessToken ( ProcessHandle : HANDLE ,
1060- DesiredAccess : DWORD ,
1061- TokenHandle : * mut HANDLE ) -> BOOL ;
10621067 pub fn GetCurrentProcess ( ) -> HANDLE ;
10631068 pub fn GetCurrentThread ( ) -> HANDLE ;
10641069 pub fn GetStdHandle ( which : DWORD ) -> HANDLE ;
@@ -1083,9 +1088,9 @@ extern "system" {
10831088 pub fn SwitchToThread ( ) -> BOOL ;
10841089 pub fn Sleep ( dwMilliseconds : DWORD ) ;
10851090 pub fn GetProcessId ( handle : HANDLE ) -> DWORD ;
1086- pub fn GetUserProfileDirectoryW ( hToken : HANDLE ,
1087- lpProfileDir : LPWSTR ,
1088- lpcchSize : * mut DWORD ) -> BOOL ;
1091+ pub fn SHGetFolderPathW ( handle : HANDLE , csidl : c_int ,
1092+ hToken : HANDLE , dwFlags : DWORD ,
1093+ pszPath : LPWSTR ) -> DWORD ;
10891094 #[ cfg( not( target_os = "uwp" ) ) ]
10901095 pub fn SetHandleInformation ( hObject : HANDLE ,
10911096 dwMask : DWORD ,
0 commit comments