NtOpenSymbolicLinkObject
NTSTATUS __stdcall NtOpenSymbolicLinkObject(
PVOID *LinkHandle,
UINT64 DesiredAccess,
_OBJECT_ATTRIBUTES *ObjectAttributes){
int v4;
PVOID *v5;
CHAR v6;
_OBJECT_TYPE *v7;
_EJOB *Silo;
NTSTATUS result;
UINT64 DesiredAccessa;
PVOID Handle;
v4 = DesiredAccess;
v5 = LinkHandle;
Handle = 0i64;
v6 = *((_BYTE *)KeGetCurrentThread() + 562);
if( v6 )
{
if( (unsigned __int64)LinkHandle >= 0x7FFFFFFF0000i64 )
LinkHandle = (PVOID *)0x7FFFFFFF0000i64;
*LinkHandle = *LinkHandle;
}
v7 = ObpSymbolicLinkObjectType;
Silo = PsGetCurrentSilo();
LODWORD(DesiredAccessa) = v4;
result = ObOpenObjectByNameEx(ObjectAttributes, v7, v6, 0i64, DesiredAccessa, 0i64, Silo, &Handle);
*v5 = Handle;
return result;
}Referenced by:
AdtpInitializeDriveLetters
IopReassignSystemRoot