NtOpenSymbolicLinkObject
NTSTATUS __stdcall NtOpenSymbolicLinkObject(
VOID **LinkHandle,
_ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes){
VOID **v5;
char PreviousMode;
_OBJECT_TYPE *v7;
_EJOB *Silo;
NTSTATUS result;
UINT64 DesiredAccessa;
PVOID Handle;
v5 = LinkHandle;
Handle = 0i64;
PreviousMode = KeGetCurrentThread()->PreviousMode;
if( PreviousMode )
{
if( (unsigned __int64)LinkHandle >= 0x7FFFFFFF0000i64 )
LinkHandle = (VOID **)0x7FFFFFFF0000i64;
*LinkHandle = *LinkHandle;
}
v7 = ObjectType;
Silo = PsGetCurrentSilo();
LODWORD(DesiredAccessa) = DesiredAccess;
result = ObOpenObjectByNameEx(ObjectAttributes, v7, PreviousMode, 0i64, DesiredAccessa, 0i64, Silo, &Handle);
*v5 = Handle;
return result;
}Referenced by:
AdtpInitializeDriveLetters
IopReassignSystemRoot