1 #ifndef _INCLUDE_DDK_SEFUNCS_H
2 #define _INCLUDE_DDK_SEFUNCS_H
6 extern PACL EXPORTED SePublicDefaultDacl;
7 extern PACL EXPORTED SeSystemDefaultDacl;
9 extern PACL IMPORTED SePublicDefaultDacl;
10 extern PACL IMPORTED SeSystemDefaultDacl;
14 SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
15 IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
16 IN BOOLEAN SubjectContextLocked,
17 IN ACCESS_MASK DesiredAccess,
18 IN ACCESS_MASK PreviouslyGrantedAccess,
19 OUT PPRIVILEGE_SET* Privileges OPTIONAL,
20 IN PGENERIC_MAPPING GenericMapping,
21 IN KPROCESSOR_MODE AccessMode,
22 OUT PACCESS_MODE GrantedAccess,
23 OUT PNTSTATUS AccessStatus);
26 SeAppendPrivileges(IN PACCESS_STATE AccessState,
27 IN PPRIVILEGE_SET Privileges);
30 SeAssignSecurity(IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
31 IN PSECURITY_DESCRIPTOR ExplicitDescriptor,
32 OUT PSECURITY_DESCRIPTOR* NewDescriptor,
33 IN BOOLEAN IsDirectoryObject,
34 IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
35 IN PGENERIC_MAPPING GenericMapping,
36 IN POOL_TYPE PoolType);
39 SeAuditingFileEvents(IN BOOLEAN AccessGranted,
40 IN PSECURITY_DESCRIPTOR SecurityDescriptor);
43 SeAuditingFileOrGlobalEvents(IN BOOLEAN AccessGranted,
44 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
45 IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
48 SeCaptureSubjectContext(OUT PSECURITY_SUBJECT_CONTEXT SubjectContext);
51 SeCreateAccessState(OUT PACCESS_STATE AccessState,
53 IN ACCESS_MASK AccessMask,
54 IN PGENERIC_MAPPING Mapping);
57 SeCreateClientSecurity(IN struct _ETHREAD *Thread,
58 IN PSECURITY_QUALITY_OF_SERVICE Qos,
59 IN BOOLEAN RemoteClient,
60 OUT PSECURITY_CLIENT_CONTEXT ClientContext);
63 SeDeassignSecurity(IN OUT PSECURITY_DESCRIPTOR* SecurityDescriptor);
66 SeDeleteAccessState(IN PACCESS_STATE AccessState);
69 SeDeleteObjectAuditAlarm(IN PVOID Object,
73 SeFreePrivileges(IN PPRIVILEGE_SET Privileges);
76 SeImpersonateClient(IN PSECURITY_CLIENT_CONTEXT ClientContext,
77 IN struct _ETHREAD *ServerThread OPTIONAL);
80 SeLockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
83 SeMarkLogonSessionForTerminationNotification(IN PLUID LogonId);
86 SeOpenObjectAuditAlarm(IN PUNICODE_STRING ObjectTypeName,
87 IN PVOID Object OPTIONAL,
88 IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
89 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
90 IN PACCESS_STATE AccessState,
91 IN BOOLEAN ObjectCreated,
92 IN BOOLEAN AccessGranted,
93 IN KPROCESSOR_MODE AccessMode,
94 OUT PBOOLEAN GenerateOnClose);
97 SeOpenObjectForDeleteAuditAlarm(IN PUNICODE_STRING ObjectTypeName,
98 IN PVOID Object OPTIONAL,
99 IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
100 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
101 IN PACCESS_STATE AccessState,
102 IN BOOLEAN ObjectCreated,
103 IN BOOLEAN AccessGranted,
104 IN KPROCESSOR_MODE AccessMode,
105 OUT PBOOLEAN GenerateOnClose);
108 SePrivilegeCheck(IN OUT PPRIVILEGE_SET RequiredPrivileges,
109 IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
110 IN KPROCESSOR_MODE AccessMode);
113 SeQueryAuthenticationIdToken(IN PACCESS_TOKEN Token,
117 SeQuerySecurityDescriptorInfo(IN PSECURITY_INFORMATION SecurityInformation,
118 OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
119 IN OUT PULONG Length,
120 IN PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor);
123 SeRegisterLogonSessionTerminatedRoutine(IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
126 SeReleaseSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
129 SeSetAccessStateGenericMapping(IN PACCESS_STATE AccessState,
130 IN PGENERIC_MAPPING GenericMapping);
133 SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL,
134 IN PSECURITY_INFORMATION SecurityInformation,
135 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
136 IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
137 IN POOL_TYPE PoolType,
138 IN PGENERIC_MAPPING GenericMapping);
141 SeSinglePrivilegeCheck(IN LUID PrivilegeValue,
142 IN KPROCESSOR_MODE PreviousMode);
144 SECURITY_IMPERSONATION_LEVEL STDCALL
145 SeTokenImpersonationLevel(IN PACCESS_TOKEN Token);
148 SeTokenType(IN PACCESS_TOKEN Token);
151 SeUnlockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
154 SeUnregisterLogonSessionTerminatedRoutine(IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
157 SeValidSecurityDescriptor(IN ULONG Length,
158 IN PSECURITY_DESCRIPTOR SecurityDescriptor);
160 #endif /* ndef _INCLUDE_DDK_SEFUNCS_H */