Leaked source code of windows server 2003
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.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1999.
//
// File: AccessCk.h
//
// Contents: Code copied and modified from private\ntos\se\accessck.c
//
//
//----------------------------------------------------------------------------
#ifndef __ACCESSCK_ADUTILS_H
#define __ACCESSCK_ADUTILS_H
#define SID_ARRAY_SIZE sizeof (ULONG) * 8
class IOBJECT_TYPE_LIST { public: IOBJECT_TYPE_LIST () : Level (0), Flags (0), ParentIndex (0), Remaining (0), CurrentGranted (0), CurrentDenied (0) { ::ZeroMemory (&ObjectType, sizeof (GUID)); ::ZeroMemory (grantingSid, sizeof (grantingSid)); ::ZeroMemory (denyingSid, sizeof (denyingSid)); } ~IOBJECT_TYPE_LIST () { for (UINT nIndex = 0; nIndex < SID_ARRAY_SIZE; nIndex++) { if ( grantingSid[nIndex] ) CoTaskMemFree (grantingSid[nIndex]); if ( denyingSid[nIndex] ) CoTaskMemFree (denyingSid[nIndex]); } }
USHORT Level; USHORT Flags; #define OBJECT_SUCCESS_AUDIT 0x1
#define OBJECT_FAILURE_AUDIT 0x2
GUID ObjectType; LONG ParentIndex; ULONG Remaining; ULONG CurrentGranted; ULONG CurrentDenied; PSID grantingSid[SID_ARRAY_SIZE]; PSID denyingSid[SID_ARRAY_SIZE]; };
typedef IOBJECT_TYPE_LIST* PIOBJECT_TYPE_LIST;
HRESULT SepInit (); VOID SepCleanup ();
HRESULT SepMaximumAccessCheck( list<PSID>& psidList, IN PACL Dacl, IN PSID PrincipalSelfSid, IN size_t LocalTypeListLength, IN PIOBJECT_TYPE_LIST LocalTypeList, IN size_t ObjectTypeListLength);
NTSTATUS SeCaptureObjectTypeList ( IN POBJECT_TYPE_LIST ObjectTypeList OPTIONAL, IN size_t ObjectTypeListLength, OUT PIOBJECT_TYPE_LIST *CapturedObjectTypeList );
#endif
|