windows-nt/Source/XPSP1/NT/net/layer2svc/wlpolicy/security.h
2020-09-26 16:20:57 +08:00

90 lines
1.7 KiB
C

#define MAX_ACE 6
#define SPD_OBJECT_SERVER 0
#define SPD_OBJECT_COUNT 1
#define SERVER_ACCESS_ADMINISTER 0x00000001
#define SERVER_ACCESS_ENUMERATE 0x00000002
#define SERVER_READ (STANDARD_RIGHTS_READ |\
SERVER_ACCESS_ENUMERATE)
#define SERVER_WRITE (STANDARD_RIGHTS_WRITE |\
SERVER_ACCESS_ADMINISTER |\
SERVER_ACCESS_ENUMERATE)
#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
SERVER_ACCESS_ENUMERATE)
#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
SERVER_ACCESS_ADMINISTER |\
SERVER_ACCESS_ENUMERATE)
DWORD
InitializeSPDSecurity(
PSECURITY_DESCRIPTOR * ppSPDSD
);
DWORD
BuildSPDObjectProtection(
DWORD dwAceCount,
PUCHAR pAceType,
PSID * ppAceSid,
PACCESS_MASK pAceMask,
PBYTE pInheritFlags,
PSID pOwnerSid,
PSID pGroupSid,
PGENERIC_MAPPING pGenericMap,
PSECURITY_DESCRIPTOR * ppSecurityDescriptor
);
DWORD
ValidateSecurity(
DWORD dwObjectType,
ACCESS_MASK DesiredAccess,
LPVOID pObjectHandle,
PACCESS_MASK pGrantedAccess
);
VOID
MapGenericToSpecificAccess(
DWORD dwObjectType,
ACCESS_MASK GenericAccess,
PACCESS_MASK pSpecificAccess
);
BOOL
GetTokenHandle(
PHANDLE phToken
);
DWORD
ValidateMMSecurity(
DWORD dwObjectType,
ACCESS_MASK DesiredAccess,
LPVOID pObjectHandle,
PACCESS_MASK pGrantedAccess
);
DWORD
ValidateTxSecurity(
DWORD dwObjectType,
ACCESS_MASK DesiredAccess,
LPVOID pObjectHandle,
PACCESS_MASK pGrantedAccess
);
DWORD
ValidateTnSecurity(
DWORD dwObjectType,
ACCESS_MASK DesiredAccess,
LPVOID pObjectHandle,
PACCESS_MASK pGrantedAccess
);