40 {
L"NetHood",
L"AppData\\Roaming\\Microsoft\\Windows\\Network Shortcuts",
TRUE,
TRUE,
TRUE,
FALSE},
41 {
L"PrintHood",
L"AppData\\Roaming\\Microsoft\\Windows\\Printer Shortcuts",
TRUE,
TRUE,
TRUE,
FALSE},
47 {
L"Programs",
L"AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs",
FALSE,
TRUE,
TRUE,
FALSE},
48 {
L"Administrative Tools",
L"AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools",
FALSE,
TRUE,
TRUE,
FALSE},
49 {
L"Startup",
L"AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup",
FALSE,
TRUE,
TRUE,
FALSE},
69 {
L"Common Startup",
L"Microsoft\\Windows\\Start Menu\\Programs\\Startup",
FALSE,
TRUE,
TRUE,
TRUE},
94 L"Default",
L"Default",
95 L"USERPROFILE",
L"%USERPROFILE%",
98 L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
99 L".Default\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders"
102 L"Public",
L"Public",
103 L"PUBLIC",
L"%PUBLIC%",
106 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
107 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders"
170 StringCbCopyW(szBuffer,
sizeof(szBuffer), pProfileParams->pszProfileName);
173 StringCbCopyW(szProfilePath,
sizeof(szProfilePath), pszProfilesPath);
175 StringCbCatW(szProfilePath,
sizeof(szProfilePath), szBuffer);
195 StringCbCopyW(szProfilePath,
sizeof(szProfilePath), pszProfilesPath);
197 StringCbCatW(szProfilePath,
sizeof(szProfilePath), szBuffer);
221 lpFolderData = pProfileParams->pFolderList;
226 StringCbCopyW(szBuffer,
sizeof(szBuffer), pszProgramDataPath);
254 pProfileParams->pszShellFoldersKey,
268 lpFolderData = pProfileParams->pFolderList;
275 StringCbCopyW(szBuffer,
sizeof(szBuffer), pszProgramDataPath);
308 pProfileParams->pszUserShellFoldersKey,
319 lpFolderData = pProfileParams->pFolderList;
327 StringCbCopyW(szBuffer,
sizeof(szBuffer), pProfileParams->pszEnvVarProfilePath);
367 DPRINT(
"InitializeProfiles()\n");
370 L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList",
419 wcscpy(szBuffer,
L"%SystemDrive%\\Users");
444 L"ProfilesDirectory",
495 DPRINT(
"UpdateUsersShellFolderSettings() called\n");
497 DPRINT(
"User profile path: %S\n", lpUserProfilePath);
500 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
516 StringCbCopyW(szBuffer,
sizeof(szBuffer), lpUserProfilePath);
543 DPRINT(
"UpdateUsersShellFolderSettings() done\n");
PRTL_UNICODE_STRING_BUFFER Path
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
static DWORD DWORD * dwLength
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableW(IN LPCWSTR lpName, IN LPCWSTR lpValue)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI CreateDirectoryW(IN LPCWSTR lpPathName, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
BOOL WINAPI SetFileAttributesW(LPCWSTR lpFileName, DWORD dwFileAttributes)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI PathCchRemoveFileSpec(WCHAR *path, SIZE_T size)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
BOOL AppendSystemPostfix(LPWSTR lpName, DWORD dwMaxLength)
static PROFILEPARAMS StandardProfiles[]
struct _FOLDERDATA FOLDERDATA
struct _FOLDERDATA * PFOLDERDATA
static BOOL CreateStandardProfile(_In_ LPCWSTR pszProfilesPath, _In_ LPCWSTR pszProgramDataPath, _In_ HKEY hProfileListKey, _In_ PPROFILEPARAMS pProfileParams)
static BOOL CreateDirectoryRecursive(_In_ PCWSTR Path, _In_ LPSECURITY_ATTRIBUTES SecurityAttributes)
struct _PROFILEPARAMS PROFILEPARAMS
BOOL WINAPI InitializeProfiles(VOID)
static FOLDERDATA UserShellFolders[]
BOOL UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath, HKEY hUserKey)
static FOLDERDATA CommonShellFolders[]
struct _PROFILEPARAMS * PPROFILEPARAMS
#define ERROR_ALREADY_EXISTS
#define FILE_ATTRIBUTE_HIDDEN
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbCatW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
LPCWSTR pszEnvVarProfilePath
LPCWSTR pszProfileRegValue
LPCWSTR pszShellFoldersKey
LPCWSTR pszUserShellFoldersKey
DWORD WINAPI GetLastError(void)
#define ERROR_PATH_NOT_FOUND
#define HKEY_LOCAL_MACHINE