NtMakeTemporaryObject

NTSTATUS __stdcall NtMakeTemporaryObject(VOID *Handle){
  NTSTATUS result; 
  NTSTATUS v3; 
  VOID *Object; 
  _OBJECT_HANDLE_INFORMATION v5; 

  v5 = 0i64;
  Object = 0i64;
  result = ObReferenceObjectByHandle(Handle, 0x10000ui64, 0i64, KeGetCurrentThread()->PreviousMode, &Object, &v5);
  v3 = result;
  if( result >= 0 )
  {
    ObMakeTemporaryObject(Object);
    if( (v5.HandleAttributes & 4) != 0 )
      SeDeleteObjectAuditAlarmWithTransaction(Object, Handle, 0i64);
    HalPutDmaAdapter((PADAPTER_OBJECT)Object);
    return v3;
  }
  return result;
}

Referenced by:

IopReassignSystemRoot