Data Structures |
| struct | POBP_SET_HANDLE_ATTRIBUTES_CONTEXT |
| struct | POBP_CLOSE_HANDLE_CONTEXT |
| struct | POBP_FIND_HANDLE_DATA |
| struct | PSECURITY_DESCRIPTOR_HEADER |
| struct | POB_SD_CACHE_LIST |
| union | ALIGNEDNAME |
| struct | POB_TEMP_BUFFER |
Defines |
| #define | _OB_DEBUG_ 0x00 |
| #define | OB_HANDLE_DEBUG 0x01 |
| #define | OB_NAMESPACE_DEBUG 0x02 |
| #define | OB_SECURITY_DEBUG 0x04 |
| #define | OB_REFERENCE_DEBUG 0x08 |
| #define | OB_CALLBACK_DEBUG 0x10 |
| #define | OBTRACE(x, fmt,...) DPRINT(fmt, ##__VA_ARGS__) |
| #define | GENERIC_ACCESS |
| #define | OBJ_PROTECT_CLOSE 0x01 |
| #define | OBJ_AUDIT_OBJECT_CLOSE 0x04 |
| #define | OBJ_HANDLE_ATTRIBUTES |
| #define | KERNEL_HANDLE_FLAG 0x80000000 |
| #define | ObIsKernelHandle(Handle, ProcessorMode) |
| #define | ObKernelHandleToHandle(Handle) (HANDLE)((ULONG_PTR)(Handle) & ~KERNEL_HANDLE_FLAG) |
| #define | ObMarkHandleAsKernelHandle(Handle) (HANDLE)((ULONG_PTR)(Handle) | KERNEL_HANDLE_FLAG) |
| #define | ObpGetHandleObject(x) ((POBJECT_HEADER)((ULONG_PTR)x->Object & ~OBJ_HANDLE_ATTRIBUTES)) |
| #define | ObpGetHeaderForSd(x) CONTAINING_RECORD((x), SECURITY_DESCRIPTOR_HEADER, SecurityDescriptor) |
| #define | ObpGetHeaderForEntry(x) CONTAINING_RECORD((x), SECURITY_DESCRIPTOR_HEADER, Link) |
| #define | TAG_OB_TEMP_STORAGE 'tSbO' |
Functions |
| BOOLEAN NTAPI | ObInitSystem (VOID) |
| VOID NTAPI | ObShutdownSystem (VOID) |
| BOOLEAN NTAPI | ObpDeleteEntryDirectory (IN POBP_LOOKUP_CONTEXT Context) |
| BOOLEAN NTAPI | ObpInsertEntryDirectory (IN POBJECT_DIRECTORY Parent, IN POBP_LOOKUP_CONTEXT Context, IN POBJECT_HEADER ObjectHeader) |
| PVOID NTAPI | ObpLookupEntryDirectory (IN POBJECT_DIRECTORY Directory, IN PUNICODE_STRING Name, IN ULONG Attributes, IN UCHAR SearchShadow, IN POBP_LOOKUP_CONTEXT Context) |
| VOID NTAPI | ObpDeleteSymbolicLink (IN PVOID ObjectBody) |
| NTSTATUS NTAPI | ObpParseSymbolicLink (IN PVOID ParsedObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING FullPath, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *NextObject) |
| VOID NTAPI | ObpCreateSymbolicLinkName (IN POBJECT_SYMBOLIC_LINK SymbolicLink) |
| VOID NTAPI | ObpDeleteSymbolicLinkName (IN POBJECT_SYMBOLIC_LINK SymbolicLink) |
| NTSTATUS NTAPI | ObInitProcess (IN PEPROCESS Parent OPTIONAL, IN PEPROCESS Process) |
| PHANDLE_TABLE NTAPI | ObReferenceProcessHandleTable (IN PEPROCESS Process) |
| VOID NTAPI | ObDereferenceProcessHandleTable (IN PEPROCESS Process) |
| VOID NTAPI | ObKillProcess (IN PEPROCESS Process) |
| NTSTATUS NTAPI | ObpLookupObjectName (IN HANDLE RootHandle, IN PUNICODE_STRING ObjectName, IN ULONG Attributes, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos, IN PVOID InsertObject, IN PACCESS_STATE AccessState, IN POBP_LOOKUP_CONTEXT LookupContext, OUT PVOID *FoundObject) |
| BOOLEAN NTAPI | ObpSetHandleAttributes (IN OUT PHANDLE_TABLE_ENTRY HandleTableEntry, IN ULONG_PTR Context) |
| VOID NTAPI | ObQueryDeviceMapInformation (IN PEPROCESS Process, OUT PPROCESS_DEVICEMAP_INFORMATION DeviceMapInfo) |
| VOID NTAPI | ObpDeleteObject (IN PVOID Object, IN BOOLEAN CalledFromWorkerThread) |
| LONG FASTCALL | ObDereferenceObjectEx (IN PVOID Object, IN LONG Count) |
| LONG FASTCALL | ObReferenceObjectEx (IN PVOID Object, IN LONG Count) |
| BOOLEAN FASTCALL | ObReferenceObjectSafe (IN PVOID Object) |
| VOID NTAPI | ObpReapObject (IN PVOID Unused) |
| VOID FASTCALL | ObpSetPermanentObject (IN PVOID ObjectBody, IN BOOLEAN Permanent) |
| VOID NTAPI | ObpDeleteNameCheck (IN PVOID Object) |
| VOID NTAPI | ObClearProcessHandleTable (IN PEPROCESS Process) |
| NTSTATUS NTAPI | ObDuplicateObject (IN PEPROCESS SourceProcess, IN HANDLE SourceHandle, IN PEPROCESS TargetProcess OPTIONAL, IN PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options, IN KPROCESSOR_MODE PreviousMode) |
| VOID NTAPI | ObFreeObjectCreateInfoBuffer (IN POBJECT_CREATE_INFORMATION ObjectCreateInfo) |
| VOID NTAPI | ObpFreeObjectNameBuffer (IN PUNICODE_STRING Name) |
| VOID NTAPI | ObpDeleteObjectType (IN PVOID Object) |
| VOID NTAPI | ObDereferenceDeviceMap (IN PEPROCESS Process) |
| VOID FASTCALL | ObfDereferenceDeviceMap (IN PVOID DeviceMap) |
| VOID NTAPI | ObInheritDeviceMap (IN PEPROCESS Parent, IN PEPROCESS Process) |
| NTSTATUS NTAPI | ObpCreateDosDevicesDirectory (VOID) |
| NTSTATUS NTAPI | ObpInitSdCache (VOID) |
| PSECURITY_DESCRIPTOR NTAPI | ObpReferenceSecurityDescriptor (IN POBJECT_HEADER ObjectHeader) |
| BOOLEAN NTAPI | ObCheckObjectAccess (IN PVOID Object, IN OUT PACCESS_STATE AccessState, IN BOOLEAN LockHeld, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS ReturnedStatus) |
| BOOLEAN NTAPI | ObCheckCreateObjectAccess (IN PVOID Object, IN ACCESS_MASK CreateAccess, IN PACCESS_STATE AccessState, IN PUNICODE_STRING ComponentName, IN BOOLEAN LockHeld, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus) |
| BOOLEAN NTAPI | ObpCheckTraverseAccess (IN PVOID Object, IN ACCESS_MASK TraverseAccess, IN PACCESS_STATE AccessState OPTIONAL, IN BOOLEAN LockHeld, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus) |
| BOOLEAN NTAPI | ObpCheckObjectReference (IN PVOID Object, IN OUT PACCESS_STATE AccessState, IN BOOLEAN LockHeld, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus) |
| NTSTATUS NTAPI | ObAssignObjectSecurityDescriptor (IN PVOID Object, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, IN POOL_TYPE PoolType) |
| NTSTATUS NTAPI | ObDeassignSecurity (IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor) |
| NTSTATUS NTAPI | ObQuerySecurityDescriptorInfo (IN PVOID Object, IN PSECURITY_INFORMATION SecurityInformation, OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG Length, IN PSECURITY_DESCRIPTOR *OutputSecurityDescriptor) |
| NTSTATUS NTAPI | ObSetSecurityDescriptorInfo (IN PVOID Object, IN PSECURITY_INFORMATION SecurityInformation, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PSECURITY_DESCRIPTOR *OutputSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
| VOID FASTCALL | ObInitializeFastReference (IN PEX_FAST_REF FastRef, IN PVOID Object) |
| PVOID FASTCALL | ObFastReplaceObject (IN PEX_FAST_REF FastRef, IN PVOID Object) |
| PVOID FASTCALL | ObFastReferenceObject (IN PEX_FAST_REF FastRef) |
| PVOID FASTCALL | ObFastReferenceObjectLocked (IN PEX_FAST_REF FastRef) |
| VOID FASTCALL | ObFastDereferenceObject (IN PEX_FAST_REF FastRef, IN PVOID Object) |
| NTSTATUS NTAPI | ObpCaptureObjectName (IN PUNICODE_STRING CapturedName, IN PUNICODE_STRING ObjectName, IN KPROCESSOR_MODE AccessMode, IN BOOLEAN AllocateFromLookaside) |
| NTSTATUS 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) |
| ULONG NTAPI | ObGetProcessHandleCount (IN PEPROCESS Process) |
Variables |
| ULONG | ObpTraceLevel |
| KEVENT | ObpDefaultObject |
| KGUARDED_MUTEX | ObpDeviceMapLock |
| POBJECT_TYPE | ObpTypeObjectType |
| POBJECT_TYPE | ObSymbolicLinkType |
| POBJECT_DIRECTORY | ObpRootDirectoryObject |
| POBJECT_DIRECTORY | ObpTypeDirectoryObject |
| PHANDLE_TABLE | ObpKernelHandleTable |
| WORK_QUEUE_ITEM | ObpReaperWorkItem |
| volatile PVOID | ObpReaperList |
| GENERAL_LOOKASIDE | ObpNameBufferLookasideList |
| GENERAL_LOOKASIDE | ObpCreateInfoLookasideList |
| BOOLEAN | IoCountOperations |
| ALIGNEDNAME | ObpDosDevicesShortNamePrefix |
| ALIGNEDNAME | ObpDosDevicesShortNameRoot |
| UNICODE_STRING | ObpDosDevicesShortName |