X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=ntoskrnl%2Finclude%2Finternal%2Fob.h;h=54c7d1de526cc8d7974437775f49a6a10a125056;hp=521bf5834a467925672d38d8f46ecc12432dd123;hb=527f2f90577662e8eba1b1b62f958c39b3cd4358;hpb=8af88571eaeaf56240e77095b4602912389cdbbc diff --git a/ntoskrnl/include/internal/ob.h b/ntoskrnl/include/internal/ob.h index 521bf5834a4..54c7d1de526 100644 --- a/ntoskrnl/include/internal/ob.h +++ b/ntoskrnl/include/internal/ob.h @@ -31,7 +31,7 @@ if (x & ObpTraceLevel) DbgPrint(__VA_ARGS__) #endif #else -#define OBTRACE(x, ...) DPRINT(__VA_ARGS__) +#define OBTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__) #endif // @@ -56,11 +56,16 @@ // // Identifies a Kernel Handle // -#define KERNEL_HANDLE_FLAG \ - (1 << ((sizeof(HANDLE) * 8) - 1)) -#define ObIsKernelHandle(Handle, ProcessorMode) \ - (((ULONG_PTR)(Handle) & KERNEL_HANDLE_FLAG) && \ - ((ProcessorMode) == KernelMode)) +#ifdef _WIN64 +#define KERNEL_HANDLE_FLAG 0xFFFFFFFF80000000ULL +#else +#define KERNEL_HANDLE_FLAG 0x80000000 +#endif +#define ObpIsKernelHandle(Handle, ProcessorMode) \ + ((((ULONG_PTR)(Handle) & KERNEL_HANDLE_FLAG) == KERNEL_HANDLE_FLAG) && \ + ((ProcessorMode) == KernelMode) && \ + ((Handle) != NtCurrentProcess()) && \ + ((Handle) != NtCurrentThread())) // // Converts to and from a Kernel Handle to a normal handle @@ -559,6 +564,7 @@ NTAPI ObpCaptureObjectCreateInformation( IN POBJECT_ATTRIBUTES ObjectAttributes, IN KPROCESSOR_MODE AccessMode, + IN KPROCESSOR_MODE CreatorMode, IN BOOLEAN AllocateFromLookaside, IN POBJECT_CREATE_INFORMATION ObjectCreateInfo, OUT PUNICODE_STRING ObjectName @@ -578,6 +584,7 @@ ObGetProcessHandleCount( // extern ULONG ObpTraceLevel; extern KEVENT ObpDefaultObject; +extern KGUARDED_MUTEX ObpDeviceMapLock; extern POBJECT_TYPE ObpTypeObjectType; extern POBJECT_TYPE ObSymbolicLinkType; extern POBJECT_TYPE ObpTypeObjectType;