Author: ion Date: Fri Oct 6 10:36:35 2006 New Revision: 24422
URL: http://svn.reactos.org/svn/reactos?rev=24422&view=rev Log: - 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.
Modified: trunk/reactos/include/ndk/extypes.h trunk/reactos/include/ndk/obfuncs.h
Modified: trunk/reactos/include/ndk/extypes.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/extypes.h?rev=2... ============================================================================== --- trunk/reactos/include/ndk/extypes.h (original) +++ trunk/reactos/include/ndk/extypes.h Fri Oct 6 10:36:35 2006 @@ -486,6 +486,24 @@ } 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 // typedef struct _EPROFILE
Modified: trunk/reactos/include/ndk/obfuncs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/obfuncs.h?rev=2... ============================================================================== --- trunk/reactos/include/ndk/obfuncs.h (original) +++ trunk/reactos/include/ndk/obfuncs.h Fri Oct 6 10:36:35 2006 @@ -68,6 +68,18 @@ 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