50 lines
1.8 KiB
C
50 lines
1.8 KiB
C
|
// --------------------------------------------------------------------------
|
||
|
// Module Name: TokenGroups.h
|
||
|
//
|
||
|
// Copyright (c) 1999-2000, Microsoft Corporation
|
||
|
//
|
||
|
// Classes related to authentication for use in neptune logon
|
||
|
//
|
||
|
// History: 1999-09-13 vtan created
|
||
|
// 2000-02-01 vtan moved from Neptune to Whistler
|
||
|
// --------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _TokenGroups_
|
||
|
#define _TokenGroups_
|
||
|
|
||
|
// --------------------------------------------------------------------------
|
||
|
// CTokenGroups
|
||
|
//
|
||
|
// Purpose: This class creates a TOKEN_GROUPS struct for use in several
|
||
|
// different security related functions such as for
|
||
|
// secur32!LsaLogonUser which includes the owner SID as
|
||
|
// well as the logon SID passed in.
|
||
|
//
|
||
|
// History: 1999-08-17 vtan created
|
||
|
// 1999-09-13 vtan increased functionality
|
||
|
// 2000-02-01 vtan moved from Neptune to Whistler
|
||
|
// --------------------------------------------------------------------------
|
||
|
|
||
|
class CTokenGroups
|
||
|
{
|
||
|
public:
|
||
|
CTokenGroups (void);
|
||
|
~CTokenGroups (void);
|
||
|
|
||
|
const TOKEN_GROUPS* Get (void) const;
|
||
|
|
||
|
NTSTATUS CreateLogonGroup (PSID pLogonSID);
|
||
|
NTSTATUS CreateAdministratorGroup (void);
|
||
|
|
||
|
static NTSTATUS StaticInitialize (void);
|
||
|
static NTSTATUS StaticTerminate (void);
|
||
|
private:
|
||
|
static PSID s_localSID;
|
||
|
static PSID s_administratorSID;
|
||
|
|
||
|
PTOKEN_GROUPS _pTokenGroups;
|
||
|
};
|
||
|
|
||
|
#endif /* _TokenGroups_ */
|
||
|
|