Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

319 lines
9.6 KiB

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1991 **/
/**********************************************************************/
/*
UProfile.hxx
Header file for the Profile subdialog class
USERPROF_DLG is the Profile subdialog class. This header file
describes this class. The inheritance diagram is as follows:
...
|
DIALOG_WINDOW PERFORMER
\ /
BASEPROP_DLG
/ \
SUBPROP_DLG PROP_DLG
/ \
USER_SUBPROP_DLG USERPROP_DLG
|
USERPROF_DLG
| \
USERPROF_DLG_NT USERPROF_DLG_DOWNLEVEL
FILE HISTORY:
JonN 18-Feb-1992 Templated from useracct.hxx
JonN 27-Feb-1992 Split USERPROF_DLG into DOWNLEVEL and NT variants
JonN 10-Mar-1992 Added %USERNAME% logic
JonN 22-Apr-1992 Reformed %USERNAME% logic (NTISSUE #974)
JonN 28-Apr-1992 Enabled USERPROF_DLG_NT
JonN 10-Jun-1992 Profile field only from LANMANNT variants
JonN 31-Aug-1992 Re-enable %USERNAME%
*/
#ifndef _USERPROF_DLG
#define _USERPROF_DLG
#include <userprop.hxx>
#include <usubprop.hxx>
#include <slestrip.hxx>
#include <devcb.hxx> // DEVICE_COMBO
class LAZY_USER_LISTBOX;
/*************************************************************************
NAME: USERPROF_DLG
SYNOPSIS: USERPROF_DLG is the class for the Profile subdialog.
INTERFACE: USERPROF_DLG() - constructor
~USERPROF_DLG() - destructor
GeneralizeString() - If this is not a CloneUser variant,
do nothing. Otherwise, if the last
path component of the string is
<ClonedUsername><Extension>, replace
that with %USERNAME%<Extension>.
DeGeneralizeString() - If this is not a CloneUser variant,
do nothing. Otherwise, if the last
path component of the string is
%USERNAME%<Extension>, replace
this with <CurrentUsername><Extension>.
PARENT: USER_SUBPROP_DLG
NOTES: _fIndeterminateX: TRUE iff multiple users are
selected who did not originally all have
the same X value.
HISTORY:
JonN 18-Feb-1992 Templated from useracct.cxx
JonN 10-Mar-1992 Added %USERNAME% logic
JonN 22-Apr-1992 Reformed %USERNAME% logic (NTISSUE #974)
JonN 31-Aug-1992 Re-enable %USERNAME%
**************************************************************************/
class USERPROF_DLG: public USER_SUBPROP_DLG
{
friend class USERPROF_DLG_NT; // in order to _sleLogonScript.ClaimFocus()
private:
NLS_STR _nlsLogonScript;
BOOL _fIndeterminateLogonScript;
BOOL _fIndetNowLogonScript;
SLE_STRIP _sleLogonScript;
protected:
APIERR CheckPath(
SLE_STRIP * sle,
NLS_STR * pnls,
BOOL fIndeterminate,
BOOL * pfIndetNow,
ULONG ulType,
ULONG ulMask,
BOOL fDoDegeneralize = FALSE,
STRLIST * pstrlistExtensions = NULL
);
/* inherited from BASEPROP_DLG */
virtual APIERR InitControls();
virtual ULONG QueryHelpContext( void );
/* four next ones inherited from USER_SUBPROP_DLG */
virtual APIERR W_LMOBJtoMembers( UINT iObject );
virtual APIERR W_MembersToLMOBJ(
USER_2 * puser2,
USER_MEMB * pusermemb
);
virtual APIERR W_DialogToMembers();
virtual BOOL ChangesUser2Ptr( UINT iObject );
inline APIERR GeneralizeString ( NLS_STR * pnlsGeneralizeString,
const TCHAR * pchGeneralizeFromUsername,
const NLS_STR* pnlsExtension = NULL )
{ return QueryParent()->GeneralizeString( pnlsGeneralizeString,
pchGeneralizeFromUsername,
pnlsExtension ); }
inline APIERR GeneralizeString ( NLS_STR * pnlsGeneralizeString,
const TCHAR * pchGeneralizeFromUsername,
STRLIST& strlstExtensions )
{ return QueryParent()->GeneralizeString( pnlsGeneralizeString,
pchGeneralizeFromUsername,
strlstExtensions ); }
inline APIERR DegeneralizeString( NLS_STR * pnlsDegeneralizeString,
const TCHAR * pchDegeneralizeToUsername,
const NLS_STR* pnlsExtension = NULL,
BOOL * pfDidDegeneralize = NULL )
{ return QueryParent()->DegeneralizeString( pnlsDegeneralizeString,
pchDegeneralizeToUsername,
pnlsExtension,
pfDidDegeneralize ); }
inline APIERR DegeneralizeString( NLS_STR * pnlsDegeneralizeString,
const TCHAR * pchDegeneralizeToUsername,
STRLIST& strlstExtensions,
BOOL * pfDidDegeneralize = NULL )
{ return QueryParent()->DegeneralizeString( pnlsDegeneralizeString,
pchDegeneralizeToUsername,
strlstExtensions,
pfDidDegeneralize ); }
//
// Tells whether User Profile field should be enabled for this target
//
inline BOOL QueryEnableUserProfile()
{ return QueryParent()->QueryEnableUserProfile(); }
public:
USERPROF_DLG( USERPROP_DLG * puserpropdlgParent,
const TCHAR * pszResourceName,
const LAZY_USER_LISTBOX * pulb );
~USERPROF_DLG();
} ;
/*************************************************************************
NAME: USERPROF_DLG_DOWNLEVEL
SYNOPSIS: USERPROF_DLG_DOWNLEVEL is the class for the Profile subdialog,
LM2.x variant.
INTERFACE: USERPROF_DLG_DOWNLEVEL() - constructor
~USERPROF_DLG_DOWNLEVEL() - destructor
PARENT: USERPROF_DLG
NOTES: _fIndeterminateX: TRUE iff multiple users are
selected who did not originally all have
the same X value.
HISTORY:
JonN 27-Feb-1992 Split from USERPROF_DLG
JonN 22-Apr-1992 Reformed %USERNAME% logic (NTISSUE #974)
**************************************************************************/
class USERPROF_DLG_DOWNLEVEL: public USERPROF_DLG
{
private:
NLS_STR _nlsHomeDir;
BOOL _fIndeterminateHomeDir;
BOOL _fIndetNowHomeDir;
SLE_STRIP _sleHomeDir;
protected:
/* inherited from BASEPROP_DLG */
virtual APIERR InitControls();
/* four next ones inherited from USER_SUBPROP_DLG */
virtual APIERR W_LMOBJtoMembers( UINT iObject );
virtual APIERR W_MembersToLMOBJ(
USER_2 * puser2,
USER_MEMB * pusermemb
);
virtual APIERR W_DialogToMembers();
public:
USERPROF_DLG_DOWNLEVEL( USERPROP_DLG * puserpropdlgParent,
const LAZY_USER_LISTBOX * pulb );
~USERPROF_DLG_DOWNLEVEL();
} ;
/*************************************************************************
NAME: USERPROF_DLG_NT
SYNOPSIS: USERPROF_DLG_NT is the class for the Profile subdialog,
NT variant.
INTERFACE: USERPROF_DLG_NT() - constructor
~USERPROF_DLG_NT() - destructor
PARENT: USERPROF_DLG
NOTES: _fIndeterminateX: TRUE iff multiple users are
selected who did not originally all have
the same X value.
HISTORY:
JonN 27-Feb-1992 Split from USERPROF_DLG
JonN 22-Apr-1992 Reformed %USERNAME% logic (NTISSUE #974)
JonN 28-Apr-1992 Enabled USERPROF_DLG_NT, nuked UserMaint stuff
JonN 10-Jun-1992 Profile field only from LANMANNT variants
JonN 18-Aug-1992 Added _psltProfileText
CongpaY 08-Oct-1993 Added NetWare Home Directory.
**************************************************************************/
class USERPROF_DLG_NT: public USERPROF_DLG
{
private:
NLS_STR _nlsProfile;
BOOL _fIndeterminateProfile;
BOOL _fIndetNowProfile;
SLE_STRIP * _psleProfile;
SLT * _psltProfileText;
BOOL _fIsLocalHomeDir;
BOOL _fIndeterminateIsLocalHomeDir;
BOOL _fIndetNowIsLocalHomeDir;
MAGIC_GROUP _mgrpIsLocalHomeDir;
NLS_STR _nlsLocalHomeDir;
BOOL _fIndeterminateLocalHomeDir;
BOOL _fIndetNowLocalHomeDir;
SLE_STRIP _sleLocalHomeDir;
NLS_STR _nlsRemoteDevice;
BOOL _fIndeterminateRemoteDevice;
BOOL _fIndetNowRemoteDevice;
DEVICE_COMBO _devcbRemoteDevice;
NLS_STR _nlsRemoteHomeDir;
BOOL _fIndeterminateRemoteHomeDir;
BOOL _fIndetNowRemoteHomeDir;
SLE_STRIP _sleRemoteHomeDir;
NLS_STR _nlsNWHomeDir;
BOOL _fIndeterminateNWHomeDir;
BOOL _fIndetNowNWHomeDir;
SLE_STRIP _sleNWHomeDir;
SLT _sltNWHomeDir;
BOOL _fIsNetWareInstalled;
BOOL _fIsNetWareChecked;
protected:
/* inherited from BASEPROP_DLG */
virtual APIERR InitControls();
/* four next ones inherited from USER_SUBPROP_DLG */
virtual APIERR W_LMOBJtoMembers( UINT iObject );
virtual APIERR W_MembersToLMOBJ(
USER_2 * puser2,
USER_MEMB * pusermemb
);
virtual APIERR W_DialogToMembers();
public:
USERPROF_DLG_NT( USERPROP_DLG * puserpropdlgParent,
const LAZY_USER_LISTBOX * pulb );
~USERPROF_DLG_NT();
} ;
#endif //_USERPROF_DLG