Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
1.4 KiB

/*++
Microsoft Windows
Copyright (C) Microsoft Corporation, 1981 - 2000
Module Name:
path.hxx
Abstract:
see the comments at the top of path.cxx
Author:
Rahul Thombre (RahulTh) 3/3/2000
Revision History:
3/3/2000 RahulTh Created this module.
--*/
#ifndef __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__
#define __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__
#define HOMEDIR_STR L"\\\\%HOMESHARE%%HOMEPATH%"
#define PROFILE_STR L"%USERPROFILE%"
#define USERNAME_STR L"%USERNAME%"
class CRedirPath
{
public:
CRedirPath(UINT cookie);
BOOL GeneratePath (CString & szPath, const CString & szUser = USERNAME_STR) const;
BOOL Load (LPCTSTR pwszPath);
BOOL Load (UINT type, LPCTSTR pwszPrefix, LPCTSTR pwszSuffix);
void GetPrefix (CString & szPrefix) const;
void GenerateSuffix (CString & szSuffix, UINT cookie, UINT pathType) const;
UINT GetType (void) const;
BOOL IsPathValid (void) const;
BOOL IsPathDifferent (UINT type, LPCTSTR pwszPrefix) const;
// Private data members
private:
BOOL _bDataValid;
UINT _type;
CString _szPrefix;
CString _szSuffix;
UINT _cookie;
// Private helper functions
private:
BOOL LoadHomedir (LPCTSTR pwszPath);
BOOL LoadPerUser (LPCTSTR pwszPath);
BOOL LoadUserprofile (LPCTSTR pwszPath);
BOOL LoadSpecific (LPCTSTR pwszPath);
};
#endif // __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__