45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
// --------------------------------------------------------------------------
|
|
// Module Name: ProfileUtil.h
|
|
//
|
|
// Copyright (c) 2000, Microsoft Corporation
|
|
//
|
|
// Class to handle profile loading and unloading without a token.
|
|
//
|
|
// History: 2000-06-21 vtan created
|
|
// --------------------------------------------------------------------------
|
|
|
|
#ifndef _ProfileUtil_
|
|
#define _ProfileUtil_
|
|
|
|
// --------------------------------------------------------------------------
|
|
// CUserProfile
|
|
//
|
|
// Purpose: This class handles loading and unloading of a profile based
|
|
// on object scope.
|
|
//
|
|
// History: 2000-06-21 vtan created
|
|
// --------------------------------------------------------------------------
|
|
|
|
class CUserProfile
|
|
{
|
|
private:
|
|
CUserProfile (void);
|
|
public:
|
|
CUserProfile (const TCHAR *pszUsername, const TCHAR *pszDomain);
|
|
~CUserProfile (void);
|
|
|
|
operator HKEY (void) const;
|
|
private:
|
|
static PSID UsernameToSID (const TCHAR *pszUsername, const TCHAR *pszDomain);
|
|
static bool SIDStringToProfilePath (const TCHAR *pszSIDString, TCHAR *pszProfilePath);
|
|
private:
|
|
HKEY _hKeyProfile;
|
|
TCHAR* _pszSID;
|
|
bool _fLoaded;
|
|
|
|
static const TCHAR s_szUserHiveFilename[];
|
|
};
|
|
|
|
#endif /* _ProfileUtil_ */
|
|
|