ObSetSecurityObjectByPointer
NTSTATUS __stdcall ObSetSecurityObjectByPointer(VOID *Object, UINT64 SecurityInformation, VOID *SecurityDescriptor){
__int64 v3;
char PreviousMode;
int v6;
v6 = SecurityInformation;
v3 = ObTypeIndexTable[(unsigned __int8)ObHeaderCookie ^ (unsigned __int8)*((char *)Object - 24) ^ (unsigned __int64)(unsigned __int8)((unsigned __int16)((_WORD)Object - 48) >> 8)];
PreviousMode = KeGetCurrentThread()->PreviousMode;
return(*(__int64(__fastcall **)(VOID *, _QWORD, int *, VOID *, _QWORD, char *, _DWORD, __int64, char))(v3 + 152))(
Object,
0i64,
&v6,
SecurityDescriptor,
0i64,
(char *)Object - 8,
*(_DWORD *)(v3 + 100),
v3 + 76,
PreviousMode);
}Referenced by:
IoCreateDeviceSecure
NtSetSecurityObject
PiSwGetChildPdo
PipChangeDeviceObjectFromRegistryProperties
SepAppendAceToTokenObjectAcl
VRegSetup