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;
|
ULONG AllowMultipleCallbacks;
|
||||||
} CALLBACK_OBJECT , *PCALLBACK_OBJECT;
|
} 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
|
// Profile Object
|
||||||
//
|
//
|
||||||
|
|
|
@ -68,6 +68,18 @@ ObGetObjectPointerCount(
|
||||||
IN PVOID Object
|
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
|
NTKERNELAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
Loading…
Reference in a new issue