mirror of
https://github.com/reactos/reactos.git
synced 2024-10-03 16:05:37 +00:00
- Add internal EX_CALLBACK Object to NDK. (Callback blocks are a new NT 5.2 kernel mechanism much like RunOncs blocks in Vista user-mode). They're managed by rundown protection and fast-referencing through interlocked calls to push/pop/sychrnonize system callbacks.
- Add ObOpenObjectByName to NDK, since this API is not documented in official headers. svn path=/trunk/; revision=24422
This commit is contained in:
parent
45d84c9668
commit
a4c366b659
|
@ -485,6 +485,24 @@ typedef struct _CALLBACK_OBJECT
|
|||
ULONG AllowMultipleCallbacks;
|
||||
} CALLBACK_OBJECT , *PCALLBACK_OBJECT;
|
||||
|
||||
//
|
||||
// Internal Callback Object
|
||||
//
|
||||
typedef struct _EX_CALLBACK_ROUTINE_BLOCK
|
||||
{
|
||||
EX_RUNDOWN_REF RundownProtect;
|
||||
PVOID Function;
|
||||
PVOID Context;
|
||||
} EX_CALLBACK_ROUTINE_BLOCK, *PEX_CALLBACK_ROUTINE_BLOCK;
|
||||
|
||||
//
|
||||
// Internal Callback Handle
|
||||
//
|
||||
typedef struct _EX_CALLBACK
|
||||
{
|
||||
EX_FAST_REF RoutineBlock;
|
||||
} EX_CALLBACK, *PEX_CALLBACK;
|
||||
|
||||
//
|
||||
// Profile Object
|
||||
//
|
||||
|
|
|
@ -68,6 +68,18 @@ ObGetObjectPointerCount(
|
|||
IN PVOID Object
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByName(
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN POBJECT_TYPE ObjectType,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN PACCESS_STATE PassedAccessState,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN OUT PVOID ParseContext,
|
||||
OUT PHANDLE Handle
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
|
Loading…
Reference in a new issue