mirror of
https://github.com/reactos/reactos.git
synced 2024-08-01 17:11:35 +00:00
Added testing for inheritable objects/handles.
svn path=/trunk/; revision=2934
This commit is contained in:
parent
8844bece5a
commit
cd1ca716e4
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: object.c,v 1.46 2002/03/05 00:19:28 ekohl Exp $
|
/* $Id: object.c,v 1.47 2002/05/07 22:39:26 hbirr Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -69,7 +69,7 @@ VOID ObInitializeObject(POBJECT_HEADER ObjectHeader,
|
||||||
ObCreateHandle(PsGetCurrentProcess(),
|
ObCreateHandle(PsGetCurrentProcess(),
|
||||||
HEADER_TO_BODY(ObjectHeader),
|
HEADER_TO_BODY(ObjectHeader),
|
||||||
DesiredAccess,
|
DesiredAccess,
|
||||||
FALSE,
|
ObjectAttributes && (ObjectAttributes->Attributes & OBJ_INHERIT) ? TRUE : FALSE,
|
||||||
Handle);
|
Handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -373,7 +373,7 @@ ObReferenceObjectByPointer(IN PVOID Object,
|
||||||
DPRINT("eip %x\n", ((PULONG)&Object)[-1]);
|
DPRINT("eip %x\n", ((PULONG)&Object)[-1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Header->RefCount++;
|
InterlockedIncrement(&Header->RefCount);
|
||||||
|
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ ObOpenObjectByPointer(IN POBJECT Object,
|
||||||
Status = ObCreateHandle(PsGetCurrentProcess(),
|
Status = ObCreateHandle(PsGetCurrentProcess(),
|
||||||
Object,
|
Object,
|
||||||
DesiredAccess,
|
DesiredAccess,
|
||||||
FALSE,
|
HandleAttributes & OBJ_INHERIT,
|
||||||
Handle);
|
Handle);
|
||||||
|
|
||||||
ObDereferenceObject(Object);
|
ObDereferenceObject(Object);
|
||||||
|
@ -476,7 +476,7 @@ ObfReferenceObject(IN PVOID Object)
|
||||||
|
|
||||||
Header = BODY_TO_HEADER(Object);
|
Header = BODY_TO_HEADER(Object);
|
||||||
|
|
||||||
Header->RefCount++;
|
InterlockedIncrement(&Header->RefCount);
|
||||||
|
|
||||||
ObpPerformRetentionChecks(Header);
|
ObpPerformRetentionChecks(Header);
|
||||||
}
|
}
|
||||||
|
@ -519,7 +519,7 @@ ObfDereferenceObject(IN PVOID Object)
|
||||||
DPRINT("eip %x\n", ((PULONG)&Object)[-1]);
|
DPRINT("eip %x\n", ((PULONG)&Object)[-1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Header->RefCount--;
|
InterlockedDecrement(&Header->RefCount);
|
||||||
|
|
||||||
ObpPerformRetentionChecks(Header);
|
ObpPerformRetentionChecks(Header);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue