Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensefuncs.h
Go to the documentation of this file.
00001 /****************************************************************************** 00002 * Security Manager Functions * 00003 ******************************************************************************/ 00004 00005 #if (NTDDI_VERSION >= NTDDI_WIN2K) 00006 $if (_WDMDDK_) 00007 _IRQL_requires_max_(PASSIVE_LEVEL) 00008 NTKERNELAPI 00009 BOOLEAN 00010 NTAPI 00011 SeAccessCheck( 00012 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00013 _In_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext, 00014 _In_ BOOLEAN SubjectContextLocked, 00015 _In_ ACCESS_MASK DesiredAccess, 00016 _In_ ACCESS_MASK PreviouslyGrantedAccess, 00017 _Outptr_opt_ PPRIVILEGE_SET *Privileges, 00018 _In_ PGENERIC_MAPPING GenericMapping, 00019 _In_ KPROCESSOR_MODE AccessMode, 00020 _Out_ PACCESS_MASK GrantedAccess, 00021 _Out_ PNTSTATUS AccessStatus); 00022 00023 _IRQL_requires_max_(PASSIVE_LEVEL) 00024 NTKERNELAPI 00025 NTSTATUS 00026 NTAPI 00027 SeAssignSecurity( 00028 _In_opt_ PSECURITY_DESCRIPTOR ParentDescriptor, 00029 _In_opt_ PSECURITY_DESCRIPTOR ExplicitDescriptor, 00030 _Out_ PSECURITY_DESCRIPTOR *NewDescriptor, 00031 _In_ BOOLEAN IsDirectoryObject, 00032 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext, 00033 _In_ PGENERIC_MAPPING GenericMapping, 00034 _In_ POOL_TYPE PoolType); 00035 00036 NTKERNELAPI 00037 NTSTATUS 00038 NTAPI 00039 SeAssignSecurityEx( 00040 _In_opt_ PSECURITY_DESCRIPTOR ParentDescriptor, 00041 _In_opt_ PSECURITY_DESCRIPTOR ExplicitDescriptor, 00042 _Out_ PSECURITY_DESCRIPTOR *NewDescriptor, 00043 _In_opt_ GUID *ObjectType, 00044 _In_ BOOLEAN IsDirectoryObject, 00045 _In_ ULONG AutoInheritFlags, 00046 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext, 00047 _In_ PGENERIC_MAPPING GenericMapping, 00048 _In_ POOL_TYPE PoolType); 00049 00050 _IRQL_requires_max_(PASSIVE_LEVEL) 00051 NTKERNELAPI 00052 NTSTATUS 00053 NTAPI 00054 SeDeassignSecurity( 00055 _Inout_ PSECURITY_DESCRIPTOR *SecurityDescriptor); 00056 00057 _IRQL_requires_max_(PASSIVE_LEVEL) 00058 NTKERNELAPI 00059 BOOLEAN 00060 NTAPI 00061 SeValidSecurityDescriptor( 00062 _In_ ULONG Length, 00063 _In_reads_bytes_(Length) PSECURITY_DESCRIPTOR SecurityDescriptor); 00064 00065 NTKERNELAPI 00066 ULONG 00067 NTAPI 00068 SeObjectCreateSaclAccessBits( 00069 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor); 00070 00071 NTKERNELAPI 00072 VOID 00073 NTAPI 00074 SeReleaseSubjectContext( 00075 _Inout_ PSECURITY_SUBJECT_CONTEXT SubjectContext); 00076 00077 NTKERNELAPI 00078 VOID 00079 NTAPI 00080 SeUnlockSubjectContext( 00081 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext); 00082 00083 NTKERNELAPI 00084 VOID 00085 NTAPI 00086 SeCaptureSubjectContext( 00087 _Out_ PSECURITY_SUBJECT_CONTEXT SubjectContext); 00088 00089 NTKERNELAPI 00090 VOID 00091 NTAPI 00092 SeLockSubjectContext( 00093 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext); 00094 $endif (_WDMDDK_) 00095 00096 $if (_NTDDK_) 00097 _IRQL_requires_max_(PASSIVE_LEVEL) 00098 NTKERNELAPI 00099 BOOLEAN 00100 NTAPI 00101 SeSinglePrivilegeCheck( 00102 _In_ LUID PrivilegeValue, 00103 _In_ KPROCESSOR_MODE PreviousMode); 00104 $endif (_NTDDK_) 00105 $if (_NTIFS_) 00106 00107 NTKERNELAPI 00108 VOID 00109 NTAPI 00110 SeReleaseSubjectContext( 00111 _Inout_ PSECURITY_SUBJECT_CONTEXT SubjectContext); 00112 00113 NTKERNELAPI 00114 BOOLEAN 00115 NTAPI 00116 SePrivilegeCheck( 00117 _Inout_ PPRIVILEGE_SET RequiredPrivileges, 00118 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext, 00119 _In_ KPROCESSOR_MODE AccessMode); 00120 00121 NTKERNELAPI 00122 VOID 00123 NTAPI 00124 SeOpenObjectAuditAlarm( 00125 _In_ PUNICODE_STRING ObjectTypeName, 00126 _In_opt_ PVOID Object, 00127 _In_opt_ PUNICODE_STRING AbsoluteObjectName, 00128 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00129 _In_ PACCESS_STATE AccessState, 00130 _In_ BOOLEAN ObjectCreated, 00131 _In_ BOOLEAN AccessGranted, 00132 _In_ KPROCESSOR_MODE AccessMode, 00133 _Out_ PBOOLEAN GenerateOnClose); 00134 00135 NTKERNELAPI 00136 VOID 00137 NTAPI 00138 SeOpenObjectForDeleteAuditAlarm( 00139 _In_ PUNICODE_STRING ObjectTypeName, 00140 _In_opt_ PVOID Object, 00141 _In_opt_ PUNICODE_STRING AbsoluteObjectName, 00142 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00143 _In_ PACCESS_STATE AccessState, 00144 _In_ BOOLEAN ObjectCreated, 00145 _In_ BOOLEAN AccessGranted, 00146 _In_ KPROCESSOR_MODE AccessMode, 00147 _Out_ PBOOLEAN GenerateOnClose); 00148 00149 NTKERNELAPI 00150 VOID 00151 NTAPI 00152 SeDeleteObjectAuditAlarm( 00153 _In_ PVOID Object, 00154 _In_ HANDLE Handle); 00155 00156 NTKERNELAPI 00157 TOKEN_TYPE 00158 NTAPI 00159 SeTokenType( 00160 _In_ PACCESS_TOKEN Token); 00161 00162 NTKERNELAPI 00163 BOOLEAN 00164 NTAPI 00165 SeTokenIsAdmin( 00166 _In_ PACCESS_TOKEN Token); 00167 00168 NTKERNELAPI 00169 BOOLEAN 00170 NTAPI 00171 SeTokenIsRestricted( 00172 _In_ PACCESS_TOKEN Token); 00173 00174 NTKERNELAPI 00175 NTSTATUS 00176 NTAPI 00177 SeQueryAuthenticationIdToken( 00178 _In_ PACCESS_TOKEN Token, 00179 _Out_ PLUID AuthenticationId); 00180 00181 NTKERNELAPI 00182 NTSTATUS 00183 NTAPI 00184 SeQuerySessionIdToken( 00185 _In_ PACCESS_TOKEN Token, 00186 _Out_ PULONG SessionId); 00187 00188 NTKERNELAPI 00189 NTSTATUS 00190 NTAPI 00191 SeCreateClientSecurity( 00192 _In_ PETHREAD ClientThread, 00193 _In_ PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos, 00194 _In_ BOOLEAN RemoteSession, 00195 _Out_ PSECURITY_CLIENT_CONTEXT ClientContext); 00196 00197 NTKERNELAPI 00198 VOID 00199 NTAPI 00200 SeImpersonateClient( 00201 _In_ PSECURITY_CLIENT_CONTEXT ClientContext, 00202 _In_opt_ PETHREAD ServerThread); 00203 00204 NTKERNELAPI 00205 NTSTATUS 00206 NTAPI 00207 SeImpersonateClientEx( 00208 _In_ PSECURITY_CLIENT_CONTEXT ClientContext, 00209 _In_opt_ PETHREAD ServerThread); 00210 00211 NTKERNELAPI 00212 NTSTATUS 00213 NTAPI 00214 SeCreateClientSecurityFromSubjectContext( 00215 _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext, 00216 _In_ PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos, 00217 _In_ BOOLEAN ServerIsRemote, 00218 _Out_ PSECURITY_CLIENT_CONTEXT ClientContext); 00219 00220 NTKERNELAPI 00221 NTSTATUS 00222 NTAPI 00223 SeQuerySecurityDescriptorInfo( 00224 _In_ PSECURITY_INFORMATION SecurityInformation, 00225 _Out_writes_bytes_(*Length) PSECURITY_DESCRIPTOR SecurityDescriptor, 00226 _Inout_ PULONG Length, 00227 _Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor); 00228 00229 NTKERNELAPI 00230 NTSTATUS 00231 NTAPI 00232 SeSetSecurityDescriptorInfo( 00233 _In_opt_ PVOID Object, 00234 _In_ PSECURITY_INFORMATION SecurityInformation, 00235 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00236 _Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 00237 _In_ POOL_TYPE PoolType, 00238 _In_ PGENERIC_MAPPING GenericMapping); 00239 00240 NTKERNELAPI 00241 NTSTATUS 00242 NTAPI 00243 SeSetSecurityDescriptorInfoEx( 00244 _In_opt_ PVOID Object, 00245 _In_ PSECURITY_INFORMATION SecurityInformation, 00246 _In_ PSECURITY_DESCRIPTOR ModificationDescriptor, 00247 _Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 00248 _In_ ULONG AutoInheritFlags, 00249 _In_ POOL_TYPE PoolType, 00250 _In_ PGENERIC_MAPPING GenericMapping); 00251 00252 NTKERNELAPI 00253 NTSTATUS 00254 NTAPI 00255 SeAppendPrivileges( 00256 _Inout_ PACCESS_STATE AccessState, 00257 _In_ PPRIVILEGE_SET Privileges); 00258 00259 NTKERNELAPI 00260 BOOLEAN 00261 NTAPI 00262 SeAuditingFileEvents( 00263 _In_ BOOLEAN AccessGranted, 00264 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor); 00265 00266 NTKERNELAPI 00267 BOOLEAN 00268 NTAPI 00269 SeAuditingFileOrGlobalEvents( 00270 _In_ BOOLEAN AccessGranted, 00271 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00272 _In_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext); 00273 00274 VOID 00275 NTAPI 00276 SeSetAccessStateGenericMapping( 00277 _Inout_ PACCESS_STATE AccessState, 00278 _In_ PGENERIC_MAPPING GenericMapping); 00279 00280 NTKERNELAPI 00281 NTSTATUS 00282 NTAPI 00283 SeRegisterLogonSessionTerminatedRoutine( 00284 _In_ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine); 00285 00286 NTKERNELAPI 00287 NTSTATUS 00288 NTAPI 00289 SeUnregisterLogonSessionTerminatedRoutine( 00290 _In_ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine); 00291 00292 NTKERNELAPI 00293 NTSTATUS 00294 NTAPI 00295 SeMarkLogonSessionForTerminationNotification( 00296 _In_ PLUID LogonId); 00297 00298 NTKERNELAPI 00299 NTSTATUS 00300 NTAPI 00301 SeQueryInformationToken( 00302 _In_ PACCESS_TOKEN Token, 00303 _In_ TOKEN_INFORMATION_CLASS TokenInformationClass, 00304 _Outptr_result_buffer_(_Inexpressible_(token-dependent)) PVOID *TokenInformation); 00305 $endif (_NTIFS_) 00306 00307 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */ 00308 $if (_NTIFS_) 00309 #if (NTDDI_VERSION >= NTDDI_WIN2KSP3) 00310 NTKERNELAPI 00311 BOOLEAN 00312 NTAPI 00313 SeAuditingHardLinkEvents( 00314 _In_ BOOLEAN AccessGranted, 00315 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor); 00316 #endif 00317 00318 #if (NTDDI_VERSION >= NTDDI_WINXP) 00319 00320 NTKERNELAPI 00321 NTSTATUS 00322 NTAPI 00323 SeFilterToken( 00324 _In_ PACCESS_TOKEN ExistingToken, 00325 _In_ ULONG Flags, 00326 _In_opt_ PTOKEN_GROUPS SidsToDisable, 00327 _In_opt_ PTOKEN_PRIVILEGES PrivilegesToDelete, 00328 _In_opt_ PTOKEN_GROUPS RestrictedSids, 00329 _Outptr_ PACCESS_TOKEN *FilteredToken); 00330 00331 NTKERNELAPI 00332 VOID 00333 NTAPI 00334 SeAuditHardLinkCreation( 00335 _In_ PUNICODE_STRING FileName, 00336 _In_ PUNICODE_STRING LinkName, 00337 _In_ BOOLEAN bSuccess); 00338 00339 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */ 00340 00341 #if (NTDDI_VERSION >= NTDDI_WINXPSP2) 00342 00343 NTKERNELAPI 00344 BOOLEAN 00345 NTAPI 00346 SeAuditingFileEventsWithContext( 00347 _In_ BOOLEAN AccessGranted, 00348 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00349 _In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext); 00350 00351 NTKERNELAPI 00352 BOOLEAN 00353 NTAPI 00354 SeAuditingHardLinkEventsWithContext( 00355 _In_ BOOLEAN AccessGranted, 00356 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00357 _In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext); 00358 00359 #endif 00360 $endif (_NTIFS_) 00361 00362 $if (_WDMDDK_) 00363 #if (NTDDI_VERSION >= NTDDI_WS03SP1) 00364 00365 _At_(AuditParameters->ParameterCount, _Const_) 00366 NTSTATUS 00367 NTAPI 00368 SeSetAuditParameter( 00369 _Inout_ PSE_ADT_PARAMETER_ARRAY AuditParameters, 00370 _In_ SE_ADT_PARAMETER_TYPE Type, 00371 _In_range_(<,SE_MAX_AUDIT_PARAMETERS) ULONG Index, 00372 _In_reads_(_Inexpressible_("depends on SE_ADT_PARAMETER_TYPE")) 00373 PVOID Data); 00374 00375 NTSTATUS 00376 NTAPI 00377 SeReportSecurityEvent( 00378 _In_ ULONG Flags, 00379 _In_ PUNICODE_STRING SourceName, 00380 _In_opt_ PSID UserSid, 00381 _In_ PSE_ADT_PARAMETER_ARRAY AuditParameters); 00382 00383 #endif /* (NTDDI_VERSION >= NTDDI_WS03SP1) */ 00384 $endif (_WDMDDK_) 00385 00386 $if (_WDMDDK_ || _NTIFS_) 00387 #if (NTDDI_VERSION >= NTDDI_VISTA) 00388 $endif (_WDMDDK_ || _NTIFS_) 00389 $if (_WDMDDK_) 00390 NTKERNELAPI 00391 ULONG 00392 NTAPI 00393 SeComputeAutoInheritByObjectType( 00394 _In_ PVOID ObjectType, 00395 _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00396 _In_opt_ PSECURITY_DESCRIPTOR ParentSecurityDescriptor); 00397 00398 #ifdef SE_NTFS_WORLD_CACHE 00399 VOID 00400 NTAPI 00401 SeGetWorldRights( 00402 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00403 _In_ PGENERIC_MAPPING GenericMapping, 00404 _Out_ PACCESS_MASK GrantedAccess); 00405 #endif /* SE_NTFS_WORLD_CACHE */ 00406 $endif (_WDMDDK_) 00407 $if (_NTIFS_) 00408 00409 NTKERNELAPI 00410 VOID 00411 NTAPI 00412 SeOpenObjectAuditAlarmWithTransaction( 00413 _In_ PUNICODE_STRING ObjectTypeName, 00414 _In_opt_ PVOID Object, 00415 _In_opt_ PUNICODE_STRING AbsoluteObjectName, 00416 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00417 _In_ PACCESS_STATE AccessState, 00418 _In_ BOOLEAN ObjectCreated, 00419 _In_ BOOLEAN AccessGranted, 00420 _In_ KPROCESSOR_MODE AccessMode, 00421 _In_opt_ GUID *TransactionId, 00422 _Out_ PBOOLEAN GenerateOnClose); 00423 00424 NTKERNELAPI 00425 VOID 00426 NTAPI 00427 SeOpenObjectForDeleteAuditAlarmWithTransaction( 00428 _In_ PUNICODE_STRING ObjectTypeName, 00429 _In_opt_ PVOID Object, 00430 _In_opt_ PUNICODE_STRING AbsoluteObjectName, 00431 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00432 _In_ PACCESS_STATE AccessState, 00433 _In_ BOOLEAN ObjectCreated, 00434 _In_ BOOLEAN AccessGranted, 00435 _In_ KPROCESSOR_MODE AccessMode, 00436 _In_opt_ GUID *TransactionId, 00437 _Out_ PBOOLEAN GenerateOnClose); 00438 00439 NTKERNELAPI 00440 VOID 00441 NTAPI 00442 SeExamineSacl( 00443 _In_ PACL Sacl, 00444 _In_ PACCESS_TOKEN Token, 00445 _In_ ACCESS_MASK DesiredAccess, 00446 _In_ BOOLEAN AccessGranted, 00447 _Out_ PBOOLEAN GenerateAudit, 00448 _Out_ PBOOLEAN GenerateAlarm); 00449 00450 NTKERNELAPI 00451 VOID 00452 NTAPI 00453 SeDeleteObjectAuditAlarmWithTransaction( 00454 _In_ PVOID Object, 00455 _In_ HANDLE Handle, 00456 _In_opt_ GUID *TransactionId); 00457 00458 NTKERNELAPI 00459 VOID 00460 NTAPI 00461 SeQueryTokenIntegrity( 00462 _In_ PACCESS_TOKEN Token, 00463 _Inout_ PSID_AND_ATTRIBUTES IntegritySA); 00464 00465 NTKERNELAPI 00466 NTSTATUS 00467 NTAPI 00468 SeSetSessionIdToken( 00469 _In_ PACCESS_TOKEN Token, 00470 _In_ ULONG SessionId); 00471 00472 NTKERNELAPI 00473 VOID 00474 NTAPI 00475 SeAuditHardLinkCreationWithTransaction( 00476 _In_ PUNICODE_STRING FileName, 00477 _In_ PUNICODE_STRING LinkName, 00478 _In_ BOOLEAN bSuccess, 00479 _In_opt_ GUID *TransactionId); 00480 00481 NTKERNELAPI 00482 VOID 00483 NTAPI 00484 SeAuditTransactionStateChange( 00485 _In_ GUID *TransactionId, 00486 _In_ GUID *ResourceManagerId, 00487 _In_ ULONG NewTransactionState); 00488 $endif (_NTIFS_) 00489 $if (_WDMDDK_ || _NTIFS_) 00490 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ 00491 $endif (_WDMDDK_ || _NTIFS_) 00492 $if (_NTIFS_) 00493 00494 #if (NTDDI_VERSION >= NTDDI_VISTA || (NTDDI_VERSION >= NTDDI_WINXPSP2 && NTDDI_VERSION < NTDDI_WS03)) 00495 NTKERNELAPI 00496 BOOLEAN 00497 NTAPI 00498 SeTokenIsWriteRestricted( 00499 _In_ PACCESS_TOKEN Token); 00500 #endif 00501 00502 #if (NTDDI_VERSION >= NTDDI_WIN7) 00503 00504 NTKERNELAPI 00505 BOOLEAN 00506 NTAPI 00507 SeAuditingAnyFileEventsWithContext( 00508 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00509 _In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext, 00510 _Out_opt_ PBOOLEAN StagingEnabled); 00511 00512 NTKERNELAPI 00513 VOID 00514 NTAPI 00515 SeExamineGlobalSacl( 00516 _In_ PUNICODE_STRING ObjectType, 00517 _In_ PACL ResourceSacl, 00518 _In_ PACCESS_TOKEN Token, 00519 _In_ ACCESS_MASK DesiredAccess, 00520 _In_ BOOLEAN AccessGranted, 00521 _Inout_ PBOOLEAN GenerateAudit, 00522 _Inout_opt_ PBOOLEAN GenerateAlarm); 00523 00524 NTKERNELAPI 00525 VOID 00526 NTAPI 00527 SeMaximumAuditMaskFromGlobalSacl( 00528 _In_opt_ PUNICODE_STRING ObjectTypeName, 00529 _In_ ACCESS_MASK GrantedAccess, 00530 _In_ PACCESS_TOKEN Token, 00531 _Inout_ PACCESS_MASK AuditMask); 00532 00533 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ 00534 00535 NTSTATUS 00536 NTAPI 00537 SeReportSecurityEventWithSubCategory( 00538 _In_ ULONG Flags, 00539 _In_ PUNICODE_STRING SourceName, 00540 _In_opt_ PSID UserSid, 00541 _In_ PSE_ADT_PARAMETER_ARRAY AuditParameters, 00542 _In_ ULONG AuditSubcategoryId); 00543 00544 BOOLEAN 00545 NTAPI 00546 SeAccessCheckFromState( 00547 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, 00548 _In_ PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation, 00549 _In_opt_ PTOKEN_ACCESS_INFORMATION ClientTokenInformation, 00550 _In_ ACCESS_MASK DesiredAccess, 00551 _In_ ACCESS_MASK PreviouslyGrantedAccess, 00552 _Outptr_opt_result_maybenull_ PPRIVILEGE_SET *Privileges, 00553 _In_ PGENERIC_MAPPING GenericMapping, 00554 _In_ KPROCESSOR_MODE AccessMode, 00555 _Out_ PACCESS_MASK GrantedAccess, 00556 _Out_ PNTSTATUS AccessStatus); 00557 00558 NTKERNELAPI 00559 VOID 00560 NTAPI 00561 SeFreePrivileges( 00562 _In_ PPRIVILEGE_SET Privileges); 00563 00564 NTSTATUS 00565 NTAPI 00566 SeLocateProcessImageName( 00567 _Inout_ PEPROCESS Process, 00568 _Outptr_ PUNICODE_STRING *pImageFileName); 00569 00570 #define SeLengthSid( Sid ) \ 00571 (8 + (4 * ((SID *)Sid)->SubAuthorityCount)) 00572 00573 #define SeDeleteClientSecurity(C) { \ 00574 if (SeTokenType((C)->ClientToken) == TokenPrimary) { \ 00575 PsDereferencePrimaryToken( (C)->ClientToken ); \ 00576 } else { \ 00577 PsDereferenceImpersonationToken( (C)->ClientToken ); \ 00578 } \ 00579 } 00580 00581 #define SeStopImpersonatingClient() PsRevertToSelf() 00582 00583 #define SeQuerySubjectContextToken( SubjectContext ) \ 00584 ( ARGUMENT_PRESENT( \ 00585 ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken \ 00586 ) ? \ 00587 ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken : \ 00588 ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken ) 00589 00590 extern NTKERNELAPI PSE_EXPORTS SeExports; 00591 $endif (_NTIFS_) Generated on Fri May 25 2012 04:29:39 for ReactOS by
1.7.6.1
|