svn path=/trunk/; revision=20795
DWORD dwLength;
DWORD dwType;
HKEY hKey;
DWORD dwLength;
DWORD dwType;
HKEY hKey;
DPRINT ("GetDesktopPath() called\n");
DPRINT ("GetDesktopPath() called\n");
- if (RegOpenKeyExW (HKEY_CURRENT_USER,
- L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_CURRENT_USER,
+ L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
{
DPRINT1 ("RegOpenKeyExW() failed\n");
{
DPRINT1 ("RegOpenKeyExW() failed\n");
+ SetLastError((DWORD)Error);
return FALSE;
}
dwLength = MAX_PATH * sizeof(WCHAR);
return FALSE;
}
dwLength = MAX_PATH * sizeof(WCHAR);
- if (RegQueryValueExW (hKey,
- bCommonPath ? L"Common Desktop" : L"Desktop",
- 0,
- &dwType,
- (LPBYTE)szPath,
- &dwLength))
+ Error = RegQueryValueExW (hKey,
+ bCommonPath ? L"Common Desktop" : L"Desktop",
+ 0,
+ &dwType,
+ (LPBYTE)szPath,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
{
DPRINT1 ("RegQueryValueExW() failed\n");
RegCloseKey (hKey);
{
DPRINT1 ("RegQueryValueExW() failed\n");
RegCloseKey (hKey);
+ SetLastError((DWORD)Error);
DWORD dwLength;
DWORD dwType;
HKEY hKey;
DWORD dwLength;
DWORD dwType;
HKEY hKey;
DPRINT ("GetProgramsPath() called\n");
DPRINT ("GetProgramsPath() called\n");
- if (RegOpenKeyExW (HKEY_CURRENT_USER,
- L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_CURRENT_USER,
+ L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
{
DPRINT1 ("RegOpenKeyExW() failed\n");
{
DPRINT1 ("RegOpenKeyExW() failed\n");
+ SetLastError((DWORD)Error);
return FALSE;
}
dwLength = MAX_PATH * sizeof(WCHAR);
return FALSE;
}
dwLength = MAX_PATH * sizeof(WCHAR);
- if (RegQueryValueExW (hKey,
- bCommonPath ? L"Common Programs" : L"Programs",
- 0,
- &dwType,
- (LPBYTE)szPath,
- &dwLength))
+ Error = RegQueryValueExW (hKey,
+ bCommonPath ? L"Common Programs" : L"Programs",
+ 0,
+ &dwType,
+ (LPBYTE)szPath,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
{
DPRINT1 ("RegQueryValueExW() failed\n");
RegCloseKey (hKey);
{
DPRINT1 ("RegQueryValueExW() failed\n");
RegCloseKey (hKey);
+ SetLastError((DWORD)Error);
{
UNICODE_STRING SidString;
HKEY hKey;
{
UNICODE_STRING SidString;
HKEY hKey;
if (!GetUserSidFromToken (hToken,
&SidString))
if (!GetUserSidFromToken (hToken,
&SidString))
- if (RegOpenKeyExW (HKEY_USERS,
- SidString.Buffer,
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_USERS,
+ SidString.Buffer,
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", Error);
RtlFreeUnicodeString (&SidString);
RtlFreeUnicodeString (&SidString);
+ SetLastError((DWORD)Error);
DWORD i;
LPWSTR lpValueName;
LPWSTR lpValueData;
DWORD i;
LPWSTR lpValueName;
LPWSTR lpValueData;
-
- if (RegOpenKeyExW (hKey,
- lpSubKeyName,
- 0,
- KEY_ALL_ACCESS,
- &hEnvKey))
+ LONG Error;
+
+ Error = RegOpenKeyExW (hKey,
+ lpSubKeyName,
+ 0,
+ KEY_ALL_ACCESS,
+ &hEnvKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", Error);
+ SetLastError((DWORD)Error);
- if (RegQueryInfoKey (hEnvKey,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- &dwValues,
- &dwMaxValueNameLength,
- &dwMaxValueDataLength,
- NULL,
- NULL))
+ Error = RegQueryInfoKey (hEnvKey,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ &dwValues,
+ &dwMaxValueNameLength,
+ &dwMaxValueDataLength,
+ NULL,
+ NULL);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegQueryInforKey() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegQueryInforKey() failed (Error %ld)\n", Error);
+ SetLastError((DWORD)Error);
DPRINT("CreateEnvironmentBlock() called\n");
if (lpEnvironment == NULL)
DPRINT("CreateEnvironmentBlock() called\n");
if (lpEnvironment == NULL)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
Status = RtlCreateEnvironment ((BOOLEAN)bInherit,
(PWSTR*)lpEnvironment);
if (!NT_SUCCESS (Status))
{
DPRINT1 ("RtlCreateEnvironment() failed (Status %lx)\n", Status);
Status = RtlCreateEnvironment ((BOOLEAN)bInherit,
(PWSTR*)lpEnvironment);
if (!NT_SUCCESS (Status))
{
DPRINT1 ("RtlCreateEnvironment() failed (Status %lx)\n", Status);
+ SetLastError (RtlNtStatusToDosError (Status));
DPRINT ("DestroyEnvironmentBlock() called\n");
if (lpEnvironment == NULL)
DPRINT ("DestroyEnvironmentBlock() called\n");
if (lpEnvironment == NULL)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
RtlDestroyEnvironment (lpEnvironment);
RtlDestroyEnvironment (lpEnvironment);
if (!NT_SUCCESS (Status))
{
LocalFree ((HLOCAL)SidBuffer);
if (!NT_SUCCESS (Status))
{
LocalFree ((HLOCAL)SidBuffer);
+ SetLastError (RtlNtStatusToDosError (Status));
LocalFree ((HLOCAL)SidBuffer);
if (!NT_SUCCESS (Status))
LocalFree ((HLOCAL)SidBuffer);
if (!NT_SUCCESS (Status))
+ {
+ SetLastError (RtlNtStatusToDosError (Status));
+ return FALSE;
+ }
DPRINT ("SidString.Length: %lu\n", SidString->Length);
DPRINT ("SidString.MaximumLength: %lu\n", SidString->MaximumLength);
DPRINT ("SidString.Length: %lu\n", SidString->Length);
DPRINT ("SidString.MaximumLength: %lu\n", SidString->MaximumLength);
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <userenv.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <userenv.h>
#include <shlobj.h>
#include "internal.h"
#include <shlobj.h>
#include "internal.h"
if (wcslen(lpName) + wcslen(lpszPostfix) >= dwMaxLength)
{
DPRINT1("Error: buffer overflow\n");
if (wcslen(lpName) + wcslen(lpszPostfix) >= dwMaxLength)
{
DPRINT1("Error: buffer overflow\n");
+ SetLastError(ERROR_BUFFER_OVERFLOW);
WCHAR szUserProfilePath[MAX_PATH];
WCHAR szDefaultUserPath[MAX_PATH];
WCHAR szBuffer[MAX_PATH];
WCHAR szUserProfilePath[MAX_PATH];
WCHAR szDefaultUserPath[MAX_PATH];
WCHAR szBuffer[MAX_PATH];
- UNICODE_STRING SidString;
DWORD dwLength;
DWORD dwDisposition;
HKEY hKey;
DWORD dwLength;
DWORD dwDisposition;
HKEY hKey;
DPRINT("CreateUserProfileW() called\n");
DPRINT("CreateUserProfileW() called\n");
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Get profiles path */
dwLength = MAX_PATH * sizeof(WCHAR);
return FALSE;
}
/* Get profiles path */
dwLength = MAX_PATH * sizeof(WCHAR);
- if (RegQueryValueExW (hKey,
- L"ProfilesDirectory",
- NULL,
- NULL,
- (LPBYTE)szRawProfilesPath,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"ProfilesDirectory",
+ NULL,
+ NULL,
+ (LPBYTE)szRawProfilesPath,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
/* Get default user path */
dwLength = MAX_PATH * sizeof(WCHAR);
/* Get default user path */
dwLength = MAX_PATH * sizeof(WCHAR);
- if (RegQueryValueExW (hKey,
- L"DefaultUserProfile",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"DefaultUserProfile",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
if (!AppendSystemPostfix (szUserProfilePath, MAX_PATH))
{
DPRINT1("AppendSystemPostfix() failed\n", GetLastError());
if (!AppendSystemPostfix (szUserProfilePath, MAX_PATH))
{
DPRINT1("AppendSystemPostfix() failed\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ LocalFree ((HLOCAL)SidString);
RegCloseKey (hKey);
return FALSE;
}
RegCloseKey (hKey);
return FALSE;
}
}
/* Add profile to profile list */
}
/* Add profile to profile list */
- Status = RtlConvertSidToUnicodeString (&SidString, Sid, TRUE);
- if (!NT_SUCCESS(Status))
+ if (!ConvertSidToStringSidW (Sid,
+ &SidString))
- DPRINT1("Status: %lx\n", Status);
+ DPRINT1("Error: %lu\n", GetLastError());
return FALSE;
}
wcscpy (szBuffer,
L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\");
return FALSE;
}
wcscpy (szBuffer,
L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\");
- wcscat (szBuffer, SidString.Buffer);
+ wcscat (szBuffer, SidString);
/* Create user profile key */
/* Create user profile key */
- if (RegCreateKeyExW (HKEY_LOCAL_MACHINE,
- szBuffer,
- 0,
- NULL,
- REG_OPTION_NON_VOLATILE,
- KEY_ALL_ACCESS,
- NULL,
- &hKey,
- &dwDisposition))
+ Error = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
+ szBuffer,
+ 0,
+ NULL,
+ REG_OPTION_NON_VOLATILE,
+ KEY_ALL_ACCESS,
+ NULL,
+ &hKey,
+ &dwDisposition);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ DPRINT1("Error: %lu\n", Error);
+ LocalFree ((HLOCAL)SidString);
+ SetLastError((DWORD)Error);
if (!AppendSystemPostfix (szBuffer, MAX_PATH))
{
DPRINT1("AppendSystemPostfix() failed\n", GetLastError());
if (!AppendSystemPostfix (szBuffer, MAX_PATH))
{
DPRINT1("AppendSystemPostfix() failed\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ LocalFree ((HLOCAL)SidString);
RegCloseKey (hKey);
return FALSE;
}
/* Set 'ProfileImagePath' value (non-expanded) */
RegCloseKey (hKey);
return FALSE;
}
/* Set 'ProfileImagePath' value (non-expanded) */
- if (RegSetValueExW (hKey,
- L"ProfileImagePath",
- 0,
- REG_EXPAND_SZ,
- (LPBYTE)szBuffer,
- (wcslen (szBuffer) + 1) * sizeof(WCHAR)))
- {
- DPRINT1("Error: %lu\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ Error = RegSetValueExW (hKey,
+ L"ProfileImagePath",
+ 0,
+ REG_EXPAND_SZ,
+ (LPBYTE)szBuffer,
+ (wcslen (szBuffer) + 1) * sizeof(WCHAR));
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ LocalFree ((HLOCAL)SidString);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Set 'Sid' value */
return FALSE;
}
/* Set 'Sid' value */
- if (RegSetValueExW (hKey,
- L"Sid",
- 0,
- REG_BINARY,
- Sid,
- RtlLengthSid (Sid)))
- {
- DPRINT1("Error: %lu\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ Error = RegSetValueExW (hKey,
+ L"Sid",
+ 0,
+ REG_BINARY,
+ Sid,
+ GetLengthSid (Sid));
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ LocalFree ((HLOCAL)SidString);
+ SetLastError((DWORD)Error);
wcscat (szBuffer, L"\\ntuser.dat");
/* Create new user hive */
wcscat (szBuffer, L"\\ntuser.dat");
/* Create new user hive */
- if (RegLoadKeyW (HKEY_USERS,
- SidString.Buffer,
- szBuffer))
+ Error = RegLoadKeyW (HKEY_USERS,
+ SidString,
+ szBuffer);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ DPRINT1("Error: %lu\n", Error);
+ LocalFree ((HLOCAL)SidString);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Initialize user hive */
return FALSE;
}
/* Initialize user hive */
- if (!CreateUserHive (SidString.Buffer, szUserProfilePath))
+ if (!CreateUserHive (SidString, szUserProfilePath))
{
DPRINT1("Error: %lu\n", GetLastError());
{
DPRINT1("Error: %lu\n", GetLastError());
- RtlFreeUnicodeString (&SidString);
+ LocalFree ((HLOCAL)SidString);
return FALSE;
}
RegUnLoadKeyW (HKEY_USERS,
return FALSE;
}
RegUnLoadKeyW (HKEY_USERS,
- RtlFreeUnicodeString (&SidString);
+ LocalFree ((HLOCAL)SidString);
DPRINT("CreateUserProfileW() done\n");
DPRINT("CreateUserProfileW() done\n");
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_READ,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_READ,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
- if (RegQueryValueExW (hKey,
- L"ProfilesDirectory",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"ProfilesDirectory",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
/* Get 'AllUsersProfile' name */
dwLength = sizeof(szBuffer);
/* Get 'AllUsersProfile' name */
dwLength = sizeof(szBuffer);
- if (RegQueryValueExW (hKey,
- L"AllUsersProfile",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"AllUsersProfile",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_READ,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_READ,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
- if (RegQueryValueExW (hKey,
- L"ProfilesDirectory",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"ProfilesDirectory",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
/* Get 'DefaultUserProfile' name */
dwLength = sizeof(szBuffer);
/* Get 'DefaultUserProfile' name */
dwLength = sizeof(szBuffer);
- if (RegQueryValueExW (hKey,
- L"DefaultUserProfile",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"DefaultUserProfile",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
WCHAR szBuffer[MAX_PATH];
DWORD dwLength;
HKEY hKey;
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_READ,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_READ,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
return FALSE;
}
/* Get profiles path */
dwLength = sizeof(szBuffer);
- if (RegQueryValueExW (hKey,
- L"ProfilesDirectory",
- NULL,
- NULL,
- (LPBYTE)szBuffer,
- &dwLength))
- {
- DPRINT1("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"ProfilesDirectory",
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
WCHAR szImagePath[MAX_PATH];
DWORD dwLength;
HKEY hKey;
WCHAR szImagePath[MAX_PATH];
DWORD dwLength;
HKEY hKey;
if (!GetUserSidFromToken (hToken,
&SidString))
if (!GetUserSidFromToken (hToken,
&SidString))
DPRINT ("KeyName: '%S'\n", szKeyName);
DPRINT ("KeyName: '%S'\n", szKeyName);
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- szKeyName,
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ szKeyName,
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Error: %lu\n", GetLastError());
+ DPRINT1 ("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
dwLength = sizeof(szRawImagePath);
return FALSE;
}
dwLength = sizeof(szRawImagePath);
- if (RegQueryValueExW (hKey,
- L"ProfileImagePath",
- NULL,
- NULL,
- (LPBYTE)szRawImagePath,
- &dwLength))
- {
- DPRINT1 ("Error: %lu\n", GetLastError());
+ Error = RegQueryValueExW (hKey,
+ L"ProfileImagePath",
+ NULL,
+ NULL,
+ (LPBYTE)szRawImagePath,
+ &dwLength);
+ if (Error != ERROR_SUCCESS)
+ {
+ DPRINT1 ("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
{
WCHAR szUserHivePath[MAX_PATH];
UNICODE_STRING SidString;
{
WCHAR szUserHivePath[MAX_PATH];
UNICODE_STRING SidString;
DWORD dwLength = sizeof(szUserHivePath) / sizeof(szUserHivePath[0]);
DPRINT ("LoadUserProfileW() called\n");
DWORD dwLength = sizeof(szUserHivePath) / sizeof(szUserHivePath[0]);
DPRINT ("LoadUserProfileW() called\n");
DPRINT ("SidString: '%wZ'\n", &SidString);
DPRINT ("SidString: '%wZ'\n", &SidString);
- if (RegLoadKeyW (HKEY_USERS,
- SidString.Buffer,
- szUserHivePath))
+ Error = RegLoadKeyW (HKEY_USERS,
+ SidString.Buffer,
+ szUserHivePath);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegLoadKeyW() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegLoadKeyW() failed (Error %ld)\n", Error);
RtlFreeUnicodeString (&SidString);
RtlFreeUnicodeString (&SidString);
+ SetLastError((DWORD)Error);
- if (RegOpenKeyExW (HKEY_USERS,
- SidString.Buffer,
- 0,
- KEY_ALL_ACCESS,
- (PHKEY)&lpProfileInfo->hProfile))
+ Error = RegOpenKeyExW (HKEY_USERS,
+ SidString.Buffer,
+ 0,
+ KEY_ALL_ACCESS,
+ (PHKEY)&lpProfileInfo->hProfile);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegOpenKeyExW() failed (Error %ld)\n", Error);
RtlFreeUnicodeString (&SidString);
RtlFreeUnicodeString (&SidString);
+ SetLastError((DWORD)Error);
HANDLE hProfile)
{
UNICODE_STRING SidString;
HANDLE hProfile)
{
UNICODE_STRING SidString;
DPRINT ("UnloadUserProfile() called\n");
DPRINT ("UnloadUserProfile() called\n");
DPRINT ("SidString: '%wZ'\n", &SidString);
DPRINT ("SidString: '%wZ'\n", &SidString);
- if (RegUnLoadKeyW (HKEY_USERS,
- SidString.Buffer))
+ Error = RegUnLoadKeyW (HKEY_USERS,
+ SidString.Buffer);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegUnLoadKeyW() failed (Error %ld)\n", GetLastError());
+ DPRINT1 ("RegUnLoadKeyW() failed (Error %ld)\n", Error);
RtlFreeUnicodeString (&SidString);
RtlFreeUnicodeString (&SidString);
+ SetLastError((DWORD)Error);
CopyKey (HKEY hDstKey,
HKEY hSrcKey)
{
CopyKey (HKEY hDstKey,
HKEY hSrcKey)
{
+ LONG Error;
+
+#if (_WIN32_WINNT >= 0x0600)
+ Error = RegCopyTreeW(hSrcKey,
+ NULL,
+ hDstKey);
+ if (Error != ERROR_SUCCESS)
+ {
+ SetLastError((DWORD)Error);
+ return FALSE;
+ }
+
+ return TRUE;
+
+#else
FILETIME LastWrite;
DWORD dwSubKeys;
DWORD dwValues;
FILETIME LastWrite;
DWORD dwSubKeys;
DWORD dwValues;
DPRINT ("CopyKey() called \n");
DPRINT ("CopyKey() called \n");
- if (RegQueryInfoKey (hSrcKey,
- NULL,
- NULL,
- NULL,
- &dwSubKeys,
- &dwMaxSubKeyNameLength,
- NULL,
- &dwValues,
- &dwMaxValueNameLength,
- &dwMaxValueLength,
- NULL,
- NULL))
+ Error = RegQueryInfoKey (hSrcKey,
+ NULL,
+ NULL,
+ NULL,
+ &dwSubKeys,
+ &dwMaxSubKeyNameLength,
+ NULL,
+ &dwValues,
+ &dwMaxValueNameLength,
+ &dwMaxValueLength,
+ NULL,
+ NULL);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("RegQueryInfoKey() failed (Error %lu)\n", GetLastError ());
+ DPRINT1 ("RegQueryInfoKey() failed (Error %lu)\n", Error);
+ SetLastError((DWORD)Error);
if (lpNameBuffer == NULL)
{
DPRINT1("Buffer allocation failed\n");
if (lpNameBuffer == NULL)
{
DPRINT1("Buffer allocation failed\n");
+ SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return FALSE;
}
for (i = 0; i < dwSubKeys; i++)
{
dwSubKeyNameLength = dwMaxSubKeyNameLength;
return FALSE;
}
for (i = 0; i < dwSubKeys; i++)
{
dwSubKeyNameLength = dwMaxSubKeyNameLength;
- if (RegEnumKeyExW (hSrcKey,
- i,
- lpNameBuffer,
- &dwSubKeyNameLength,
- NULL,
- NULL,
- NULL,
- &LastWrite))
+ Error = RegEnumKeyExW (hSrcKey,
+ i,
+ lpNameBuffer,
+ &dwSubKeyNameLength,
+ NULL,
+ NULL,
+ NULL,
+ &LastWrite);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Subkey enumeration failed (Error %lu)\n", GetLastError());
+ DPRINT1 ("Subkey enumeration failed (Error %lu)\n", Error);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError((DWORD)Error);
- if (RegCreateKeyExW (hDstKey,
- lpNameBuffer,
- 0,
- NULL,
- REG_OPTION_NON_VOLATILE,
- KEY_WRITE,
- NULL,
- &hDstSubKey,
- &dwDisposition))
+ Error = RegCreateKeyExW (hDstKey,
+ lpNameBuffer,
+ 0,
+ NULL,
+ REG_OPTION_NON_VOLATILE,
+ KEY_WRITE,
+ NULL,
+ &hDstSubKey,
+ &dwDisposition);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Subkey creation failed (Error %lu)\n", GetLastError());
+ DPRINT1 ("Subkey creation failed (Error %lu)\n", Error);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError((DWORD)Error);
- if (RegOpenKeyExW (hSrcKey,
- lpNameBuffer,
- 0,
- KEY_READ,
- &hSrcSubKey))
+ Error = RegOpenKeyExW (hSrcKey,
+ lpNameBuffer,
+ 0,
+ KEY_READ,
+ &hSrcSubKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Error: %lu\n", GetLastError());
+ DPRINT1 ("Error: %lu\n", Error);
RegCloseKey (hDstSubKey);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
RegCloseKey (hDstSubKey);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError((DWORD)Error);
if (lpNameBuffer == NULL)
{
DPRINT1 ("Buffer allocation failed\n");
if (lpNameBuffer == NULL)
{
DPRINT1 ("Buffer allocation failed\n");
+ SetLastError(ERROR_NOT_ENOUGH_MEMORY);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError(ERROR_NOT_ENOUGH_MEMORY);
{
dwValueNameLength = dwMaxValueNameLength;
dwValueLength = dwMaxValueLength;
{
dwValueNameLength = dwMaxValueNameLength;
dwValueLength = dwMaxValueLength;
- if (RegEnumValueW (hSrcKey,
- i,
- lpNameBuffer,
- &dwValueNameLength,
- NULL,
- &dwType,
- lpDataBuffer,
- &dwValueLength))
+ Error = RegEnumValueW (hSrcKey,
+ i,
+ lpNameBuffer,
+ &dwValueNameLength,
+ NULL,
+ &dwType,
+ lpDataBuffer,
+ &dwValueLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
HeapFree (GetProcessHeap (),
0,
lpDataBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
HeapFree (GetProcessHeap (),
0,
lpDataBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError((DWORD)Error);
- if (RegSetValueExW (hDstKey,
- lpNameBuffer,
- 0,
- dwType,
- lpDataBuffer,
- dwValueLength))
+ Error = RegSetValueExW (hDstKey,
+ lpNameBuffer,
+ 0,
+ dwType,
+ lpDataBuffer,
+ dwValueLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
HeapFree (GetProcessHeap (),
0,
lpDataBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
HeapFree (GetProcessHeap (),
0,
lpDataBuffer);
HeapFree (GetProcessHeap (),
0,
lpNameBuffer);
+ SetLastError((DWORD)Error);
DPRINT ("CopyKey() done \n");
return TRUE;
DPRINT ("CopyKey() done \n");
return TRUE;
CreateUserHive (LPCWSTR lpKeyName,
LPCWSTR lpProfilePath)
{
CreateUserHive (LPCWSTR lpKeyName,
LPCWSTR lpProfilePath)
{
- HKEY hDefaultKey;
- HKEY hUserKey;
+ HKEY hDefaultKey = NULL;
+ HKEY hUserKey = NULL;
+ LONG Error;
+ BOOL Ret = FALSE;
DPRINT ("CreateUserHive(%S) called\n", lpKeyName);
DPRINT ("CreateUserHive(%S) called\n", lpKeyName);
- if (RegOpenKeyExW (HKEY_USERS,
- L".Default",
- 0,
- KEY_READ,
- &hDefaultKey))
+ Error = RegOpenKeyExW (HKEY_USERS,
+ L".Default",
+ 0,
+ KEY_READ,
+ &hDefaultKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Error: %lu\n", GetLastError());
- return FALSE;
+ SetLastError((DWORD)Error);
+ goto Cleanup;
- if (RegOpenKeyExW (HKEY_USERS,
- lpKeyName,
- 0,
- KEY_ALL_ACCESS,
- &hUserKey))
+ Error = RegOpenKeyExW (HKEY_USERS,
+ lpKeyName,
+ 0,
+ KEY_ALL_ACCESS,
+ &hUserKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1 ("Error: %lu\n", GetLastError());
- RegCloseKey (hDefaultKey);
- return FALSE;
+ SetLastError((DWORD)Error);
+ goto Cleanup;
}
if (!CopyKey(hUserKey, hDefaultKey))
{
}
if (!CopyKey(hUserKey, hDefaultKey))
{
- DPRINT1 ("Error: %lu\n", GetLastError());
- RegCloseKey (hUserKey);
- RegCloseKey (hDefaultKey);
- return FALSE;
}
if (!UpdateUsersShellFolderSettings(lpProfilePath,
hUserKey))
{
}
if (!UpdateUsersShellFolderSettings(lpProfilePath,
hUserKey))
{
- DPRINT1("Error: %lu\n", GetLastError());
- RegCloseKey (hUserKey);
- RegCloseKey (hDefaultKey);
- return FALSE;
}
RegFlushKey (hUserKey);
}
RegFlushKey (hUserKey);
- RegCloseKey (hUserKey);
- RegCloseKey (hDefaultKey);
+Cleanup:
+ if (hUserKey != NULL)
+ RegCloseKey (hUserKey);
- DPRINT ("CreateUserHive() done\n");
+ if (hDefaultKey != NULL)
+ RegCloseKey (hDefaultKey);
DWORD dwLength;
PFOLDERDATA lpFolderData;
HKEY hKey;
DWORD dwLength;
PFOLDERDATA lpFolderData;
HKEY hKey;
/* Load profiles directory path */
if (!LoadStringW(hInstance,
/* Load profiles directory path */
if (!LoadStringW(hInstance,
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
/* Store profiles directory path */
dwLength = (wcslen (szBuffer) + 1) * sizeof(WCHAR);
return FALSE;
}
/* Store profiles directory path */
dwLength = (wcslen (szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW (hKey,
- L"ProfilesDirectory",
- 0,
- REG_EXPAND_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW (hKey,
+ L"ProfilesDirectory",
+ 0,
+ REG_EXPAND_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
dwLength = (wcslen (szBuffer) + 1) * sizeof(WCHAR);
}
dwLength = (wcslen (szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW (hKey,
- L"DefaultUserProfile",
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW (hKey,
+ L"DefaultUserProfile",
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
/* Set default 'Shell Folders' values */
}
/* Set default 'Shell Folders' values */
- if (RegOpenKeyExW(HKEY_USERS,
- L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW(HKEY_USERS,
+ L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- lpFolderData->lpValueName,
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ lpFolderData->lpValueName,
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
wcscat(szBuffer, L"\\media\\fonts");
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
wcscat(szBuffer, L"\\media\\fonts");
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- L"Fonts",
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ L"Fonts",
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
RegCloseKey(hKey);
/* Set default 'User Shell Folders' values */
return FALSE;
}
RegCloseKey(hKey);
/* Set default 'User Shell Folders' values */
- if (RegOpenKeyExW(HKEY_USERS,
- L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW(HKEY_USERS,
+ L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- lpFolderData->lpValueName,
- 0,
- REG_EXPAND_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ lpFolderData->lpValueName,
+ 0,
+ REG_EXPAND_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
return FALSE;
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- L"AllUsersProfile",
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ L"AllUsersProfile",
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
/* Set common 'Shell Folders' values */
}
/* Set common 'Shell Folders' values */
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- lpFolderData->lpValueName,
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ lpFolderData->lpValueName,
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
RegCloseKey(hKey);
/* Set common 'User Shell Folders' values */
RegCloseKey(hKey);
/* Set common 'User Shell Folders' values */
- if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
}
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hKey,
- lpFolderData->lpValueName,
- 0,
- REG_EXPAND_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hKey,
+ lpFolderData->lpValueName,
+ 0,
+ REG_EXPAND_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
- if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
- L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
- 0,
- KEY_ALL_ACCESS,
- &hKey))
+ Error = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
return FALSE;
}
dwLength = (wcslen (szProfilesPath) + 1) * sizeof(WCHAR);
return FALSE;
}
dwLength = (wcslen (szProfilesPath) + 1) * sizeof(WCHAR);
- if (RegSetValueExW (hKey,
- L"ProgramFilesDir",
- 0,
- REG_SZ,
- (LPBYTE)szProfilesPath,
- dwLength))
+ Error = RegSetValueExW (hKey,
+ L"ProgramFilesDir",
+ 0,
+ REG_SZ,
+ (LPBYTE)szProfilesPath,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
DWORD dwLength;
PFOLDERDATA lpFolderData;
HKEY hFoldersKey;
DWORD dwLength;
PFOLDERDATA lpFolderData;
HKEY hFoldersKey;
DPRINT("UpdateUsersShellFolderSettings() called\n");
DPRINT("User profile path: %S\n", lpUserProfilePath);
DPRINT("UpdateUsersShellFolderSettings() called\n");
DPRINT("User profile path: %S\n", lpUserProfilePath);
- if (RegOpenKeyExW(hUserKey,
- L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
- 0,
- KEY_ALL_ACCESS,
- &hFoldersKey))
+ Error = RegOpenKeyExW(hUserKey,
+ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
+ 0,
+ KEY_ALL_ACCESS,
+ &hFoldersKey);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
+ SetLastError((DWORD)Error);
DPRINT("%S: %S\n", lpFolderData->lpValueName, szBuffer);
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
DPRINT("%S: %S\n", lpFolderData->lpValueName, szBuffer);
dwLength = (wcslen(szBuffer) + 1) * sizeof(WCHAR);
- if (RegSetValueExW(hFoldersKey,
- lpFolderData->lpValueName,
- 0,
- REG_SZ,
- (LPBYTE)szBuffer,
- dwLength))
+ Error = RegSetValueExW(hFoldersKey,
+ lpFolderData->lpValueName,
+ 0,
+ REG_SZ,
+ (LPBYTE)szBuffer,
+ dwLength);
+ if (Error != ERROR_SUCCESS)
- DPRINT1("Error: %lu\n", GetLastError());
+ DPRINT1("Error: %lu\n", Error);
RegCloseKey(hFoldersKey);
RegCloseKey(hFoldersKey);
+ SetLastError((DWORD)Error);
<importlibrary definition="userenv.def" />
<include base="userenv">.</include>
<define name="__USE_W32API" />
<importlibrary definition="userenv.def" />
<include base="userenv">.</include>
<define name="__USE_W32API" />
- <define name="_WIN32_IE">0x0400</define>
- <define name="_WIN32_WINNT">0x0501</define>
+ <define name="_WIN32_IE">0x0500</define>
+ <define name="_WIN32_WINNT">0x0600</define>
<library>uuid</library>
<library>ntdll</library>
<library>kernel32</library>
<library>uuid</library>
<library>ntdll</library>
<library>kernel32</library>