Go to the source code of this file.
Classes | |
struct | _OBJECT_HANDLE_INFORMATION |
struct | _OBJECT_DUMP_CONTROL |
struct | _OBJECT_TYPE_INITIALIZER |
struct | _OBJECT_TYPE |
struct | _OBJECT_DIRECTORY |
struct | _OBJECT_DIRECTORY_ENTRY |
struct | _OBJECT_SYMBOLIC_LINK |
struct | _DEVICE_MAP |
struct | _OBJECT_HANDLE_COUNT_ENTRY |
struct | _OBJECT_HANDLE_COUNT_DATABASE |
struct | _OBJECT_CREATE_INFORMATION |
struct | _OBJECT_HEADER |
struct | _OBJECT_HEADER_QUOTA_INFO |
struct | _OBJECT_HEADER_HANDLE_INFO |
struct | _OBJECT_HEADER_NAME_INFO |
struct | _OBJECT_HEADER_CREATOR_INFO |
Defines | |
#define | NUMBER_HASH_BUCKETS 37 |
#define | OB_FLAG_NEW_OBJECT 0x01 |
#define | OB_FLAG_KERNEL_OBJECT 0x02 |
#define | OB_FLAG_CREATOR_INFO 0x04 |
#define | OB_FLAG_EXCLUSIVE_OBJECT 0x08 |
#define | OB_FLAG_PERMANENT_OBJECT 0x10 |
#define | OB_FLAG_DEFAULT_SECURITY_QUOTA 0x20 |
#define | OB_FLAG_SINGLE_HANDLE_ENTRY 0x40 |
#define | OBJECT_TO_OBJECT_HEADER(o) CONTAINING_RECORD( (o), OBJECT_HEADER, Body ) |
#define | OBJECT_HEADER_TO_EXCLUSIVE_PROCESS(oh) |
#define | OBJECT_HEADER_TO_QUOTA_INFO(oh) |
#define | OBJECT_HEADER_TO_HANDLE_INFO(oh) |
#define | OBJECT_HEADER_TO_NAME_INFO(oh) |
#define | OBJECT_HEADER_TO_CREATOR_INFO(oh) |
#define | ObDereferenceObject(a) ObfDereferenceObject(a) |
#define | ObReferenceObject(Object) |
Typedefs | |
typedef _OBJECT_HANDLE_INFORMATION | OBJECT_HANDLE_INFORMATION |
typedef _OBJECT_HANDLE_INFORMATION * | POBJECT_HANDLE_INFORMATION |
typedef _OBJECT_DUMP_CONTROL | OB_DUMP_CONTROL |
typedef _OBJECT_DUMP_CONTROL * | POB_DUMP_CONTROL |
typedef VOID(* | OB_DUMP_METHOD )(IN PVOID Object, IN POB_DUMP_CONTROL Control OPTIONAL) |
typedef enum _OB_OPEN_REASON | OB_OPEN_REASON |
typedef VOID(* | OB_OPEN_METHOD )(IN OB_OPEN_REASON OpenReason, IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG HandleCount) |
typedef BOOLEAN(* | OB_OKAYTOCLOSE_METHOD )(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN HANDLE Handle) |
typedef VOID(* | OB_CLOSE_METHOD )(IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount) |
typedef VOID(* | OB_DELETE_METHOD )(IN PVOID Object) |
typedef NTSTATUS(* | OB_PARSE_METHOD )(IN PVOID ParseObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object) |
typedef NTSTATUS(* | OB_SECURITY_METHOD )(IN PVOID Object, IN SECURITY_OPERATION_CODE OperationCode, IN PSECURITY_INFORMATION SecurityInformation, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG CapturedLength, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
typedef NTSTATUS(* | OB_QUERYNAME_METHOD )(IN PVOID Object, IN BOOLEAN HasObjectName, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, OUT PULONG ReturnLength) |
typedef _OBJECT_TYPE_INITIALIZER | OBJECT_TYPE_INITIALIZER |
typedef _OBJECT_TYPE_INITIALIZER * | POBJECT_TYPE_INITIALIZER |
typedef _OBJECT_TYPE | OBJECT_TYPE |
typedef _OBJECT_TYPE * | POBJECT_TYPE |
typedef _OBJECT_DIRECTORY | OBJECT_DIRECTORY |
typedef _OBJECT_DIRECTORY * | POBJECT_DIRECTORY |
typedef _OBJECT_DIRECTORY_ENTRY | OBJECT_DIRECTORY_ENTRY |
typedef _OBJECT_DIRECTORY_ENTRY * | POBJECT_DIRECTORY_ENTRY |
typedef _OBJECT_SYMBOLIC_LINK | OBJECT_SYMBOLIC_LINK |
typedef _OBJECT_SYMBOLIC_LINK * | POBJECT_SYMBOLIC_LINK |
typedef _DEVICE_MAP | DEVICE_MAP |
typedef _DEVICE_MAP * | PDEVICE_MAP |
typedef _OBJECT_HANDLE_COUNT_ENTRY | OBJECT_HANDLE_COUNT_ENTRY |
typedef _OBJECT_HANDLE_COUNT_ENTRY * | POBJECT_HANDLE_COUNT_ENTRY |
typedef _OBJECT_HANDLE_COUNT_DATABASE | OBJECT_HANDLE_COUNT_DATABASE |
typedef _OBJECT_HANDLE_COUNT_DATABASE * | POBJECT_HANDLE_COUNT_DATABASE |
typedef _OBJECT_CREATE_INFORMATION | OBJECT_CREATE_INFORMATION |
typedef _OBJECT_CREATE_INFORMATION * | POBJECT_CREATE_INFORMATION |
typedef _OBJECT_HEADER | OBJECT_HEADER |
typedef _OBJECT_HEADER * | POBJECT_HEADER |
typedef _OBJECT_HEADER_QUOTA_INFO | OBJECT_HEADER_QUOTA_INFO |
typedef _OBJECT_HEADER_QUOTA_INFO * | POBJECT_HEADER_QUOTA_INFO |
typedef _OBJECT_HEADER_HANDLE_INFO | OBJECT_HEADER_HANDLE_INFO |
typedef _OBJECT_HEADER_HANDLE_INFO * | POBJECT_HEADER_HANDLE_INFO |
typedef _OBJECT_HEADER_NAME_INFO | OBJECT_HEADER_NAME_INFO |
typedef _OBJECT_HEADER_NAME_INFO * | POBJECT_HEADER_NAME_INFO |
typedef _OBJECT_HEADER_CREATOR_INFO | OBJECT_HEADER_CREATOR_INFO |
typedef _OBJECT_HEADER_CREATOR_INFO * | POBJECT_HEADER_CREATOR_INFO |
Enumerations | |
enum | _OB_OPEN_REASON { ObCreateHandle, ObOpenHandle, ObDuplicateHandle, ObInheritHandle, ObMaxOpenReason } |
Functions | |
BOOLEAN | ObInitSystem (VOID) |
NTSTATUS | ObInitProcess (PEPROCESS ParentProcess OPTIONAL, PEPROCESS NewProcess) |
VOID | ObInitProcess2 (PEPROCESS NewProcess) |
VOID | ObKillProcess (BOOLEAN AcquireLock, PEPROCESS Process) |
NTKERNELAPI NTSTATUS | ObCreateObjectType (IN PUNICODE_STRING TypeName, IN POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, OUT POBJECT_TYPE *ObjectType) |
VOID FASTCALL | ObFreeObjectCreateInfoBuffer (IN POBJECT_CREATE_INFORMATION ObjectCreateInfo) |
NTKERNELAPI VOID | ObDeleteCapturedInsertInfo (IN PVOID Object) |
NTKERNELAPI NTSTATUS | ObCreateObject (IN KPROCESSOR_MODE ProbeMode, IN POBJECT_TYPE ObjectType, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE OwnershipMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectBodySize, IN ULONG PagedPoolCharge, IN ULONG NonPagedPoolCharge, OUT PVOID *Object) |
NTKERNELAPI NTSTATUS | ObInsertObject (IN PVOID Object, IN PACCESS_STATE PassedAccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle) |
NTKERNELAPI NTSTATUS | ObReferenceObjectByHandle (IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL) |
NTKERNELAPI NTSTATUS | ObOpenObjectByName (IN POBJECT_ATTRIBUTES ObjectAttributes, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PACCESS_STATE PassedAccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN OUT PVOID ParseContext OPTIONAL, OUT PHANDLE Handle) |
NTKERNELAPI NTSTATUS | ObOpenObjectByPointer (IN PVOID Object, IN ULONG HandleAttributes, IN PACCESS_STATE PassedAccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PHANDLE Handle) |
NTSTATUS | ObReferenceObjectByName (IN PUNICODE_STRING ObjectName, IN ULONG Attributes, IN PACCESS_STATE PassedAccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, OUT PVOID *Object) |
NTKERNELAPI VOID | ObMakeTemporaryObject (IN PVOID Object) |
NTKERNELAPI BOOLEAN | ObFindHandleForObject (IN PEPROCESS Process, IN PVOID Object, IN POBJECT_TYPE ObjectType OPTIONAL, IN POBJECT_HANDLE_INFORMATION MatchCriteria OPTIONAL, OUT PHANDLE Handle) |
NTKERNELAPI NTSTATUS | ObReferenceObjectByPointer (IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode) |
NTKERNELAPI VOID FASTCALL | ObfDereferenceObject (IN PVOID Object) |
NTSTATUS | ObWaitForSingleObject (IN HANDLE Handle, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL) |
NTKERNELAPI NTSTATUS | ObQueryNameString (IN PVOID Object, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, OUT PULONG ReturnLength) |
NTKERNELAPI ULONG | ObGetObjectPointerCount (IN PVOID Object) |
NTSTATUS | ObQueryTypeName (IN PVOID Object, PUNICODE_STRING ObjectTypeName, IN ULONG Length, OUT PULONG ReturnLength) |
NTSTATUS | ObQueryTypeInfo (IN POBJECT_TYPE ObjectType, OUT POBJECT_TYPE_INFORMATION ObjectTypeInfo, IN ULONG Length, OUT PULONG ReturnLength) |
NTSTATUS | ObDumpObjectByHandle (IN HANDLE Handle, IN POB_DUMP_CONTROL Control OPTIONAL) |
NTSTATUS | ObDumpObjectByPointer (IN PVOID Object, IN POB_DUMP_CONTROL Control OPTIONAL) |
NTSTATUS | ObSetDeviceMap (IN PEPROCESS TargetProcess, IN HANDLE DirectoryHandle) |
NTSTATUS | ObQueryDeviceMapInformation (IN PEPROCESS TargetProcess, OUT PPROCESS_DEVICEMAP_INFORMATION DeviceMapInformation) |
VOID | ObInheritDeviceMap (IN PEPROCESS NewProcess, IN PEPROCESS ParentProcess) |
VOID | ObDereferenceDeviceMap (IN PEPROCESS Process) |
NTSTATUS | ObGetObjectSecurity (IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated) |
VOID | ObReleaseObjectSecurity (IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated) |
NTSTATUS | ObAssignObjectSecurityDescriptor (IN PVOID Object, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, IN POOL_TYPE PoolType) |
NTSTATUS | ObValidateSecurityQuota (IN PVOID Object, IN ULONG NewSize) |
NTKERNELAPI BOOLEAN | ObCheckCreateObjectAccess (IN PVOID DirectoryObject, IN ACCESS_MASK CreateAccess, IN PACCESS_STATE AccessState OPTIONAL, IN PUNICODE_STRING ComponentName, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE PreviousMode, OUT PNTSTATUS AccessStatus) |
NTKERNELAPI BOOLEAN | ObCheckObjectAccess (IN PVOID Object, IN PACCESS_STATE AccessState, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus) |
NTKERNELAPI NTSTATUS | ObAssignSecurity (IN PACCESS_STATE AccessState, IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL, IN PVOID Object, IN POBJECT_TYPE ObjectType) |
NTSTATUS | ObQueryObjectAuditingByHandle (IN HANDLE Handle, OUT PBOOLEAN GenerateOnClose) |
NTSTATUS | ObSetSecurityObjectByPointer (IN PVOID Object, IN SECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR SecurityDescriptor) |
Variables | |
PDEVICE_MAP | ObSystemDeviceMap |
|
Definition at line 206 of file ob.h. Referenced by NtQueryDirectoryObject(), and ObpLookupDirectoryEntry(). |
|
Definition at line 349 of file ob.h. Referenced by ObpAllocateObject(). |
|
Definition at line 352 of file ob.h. Referenced by ObpChargeQuotaForObject(), ObpFreeObject(), and ObValidateSecurityQuota(). |
|
Definition at line 350 of file ob.h. Referenced by NtQueryObject(), ObpAllocateObject(), ObpDecrementHandleCount(), ObpIncrementHandleCount(), and ObpIncrementUnnamedHandleCount(). |
|
Definition at line 348 of file ob.h. Referenced by ObCreateObjectType(), ObInsertObject(), ObpAllocateObject(), and ObpSetHandleAttributes(). |
|
Definition at line 347 of file ob.h. Referenced by ObDeleteCapturedInsertInfo(), ObInsertObject(), ObOpenObjectByName(), ObpAllocateObject(), ObpChargeQuotaForObject(), and ObpFreeObject(). |
|
Definition at line 351 of file ob.h. Referenced by NtQueryObject(), ObCreateObject(), ObCreateObjectType(), ObMakeTemporaryObject(), ObpAllocateObject(), and ObpDeleteNameCheck(). |
|
Definition at line 353 of file ob.h. Referenced by ObpAllocateObject(), ObpDecrementHandleCount(), ObpFreeObject(), ObpIncrementHandleDataBase(), and ObpInsertHandleCount(). |
|
|
Value:
Definition at line 371 of file ob.h. Referenced by ObCreateObjectType(), ObpDecrementHandleCount(), ObpFreeObject(), ObpIncrementHandleCount(), ObpIncrementUnnamedHandleCount(), and ObpRemoveObjectRoutine(). |
|
Value:
Definition at line 358 of file ob.h. Referenced by ObpIncrementHandleCount(), and ObpIncrementUnnamedHandleCount(). |
|
Value:
Definition at line 365 of file ob.h. Referenced by ObpDecrementHandleCount(), ObpFreeObject(), ObpIncrementHandleDataBase(), and ObpInsertHandleCount(). |
|
Value:
Definition at line 368 of file ob.h. Referenced by _BuildNameList(), IovpStartObRefMonitoring(), IovpStopObRefMonitoring(), NtQueryDirectoryObject(), NtQueryObject(), ObEnumerateObjectsByType(), ObfDereferenceObject(), ObInitSystem(), ObInsertObject(), ObpCreateSymbolicLinkName(), ObpDeleteNameCheck(), ObpFreeObject(), ObpInsertDirectoryEntry(), ObpLookupDirectoryEntry(), ObpLookupObjectName(), ObpProcessDosDeviceSymbolicLink(), ObpRemoveObjectRoutine(), ObQueryNameString(), and xxxCreateWindowStation(). |
|
Value:
Definition at line 362 of file ob.h. Referenced by NtQueryObject(), ObGetObjectInformation(), ObpChargeQuotaForObject(), ObpDecrementHandleCount(), ObpFreeObject(), ObpIncrementHandleCount(), ObpIncrementUnnamedHandleCount(), and ObValidateSecurityQuota(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Referenced by MapDesktop(), ObInsertObject(), and ObOpenObjectByName(). |
|
Definition at line 107 of file ob.h. Referenced by IopCreateObjectTypes(), and ObpLookupObjectName(). |
|
Definition at line 131 of file ob.h. Referenced by IopCreateObjectTypes(). |
|
Definition at line 120 of file ob.h. Referenced by IopCreateObjectTypes(). |
|
|
|
|
|
|
|
|
|
|
|
Referenced by zzzSetDesktop(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Referenced by ObCreateObjectType(). |
|
Referenced by ExpInitializeCallbacks(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Referenced by xxxUserFindHandleForObject(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 72 of file ob.h.
|
|
Definition at line 1183 of file obse.c. References NT_SUCCESS, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, ObpLogSecurityDescriptor(), PAGED_CODE, and Status. Referenced by CmpSecurityMethod(), SeDefaultObjectMethod(), SeMakeAnonymousLogonToken(), and SeMakeSystemToken().
|
|
Definition at line 1574 of file obse.c. References AssignSecurityDescriptor, NT_SUCCESS, NTSTATUS(), NULL, ObpBeginTypeSpecificCallOut, ObpDirectoryObjectType, ObpEndTypeSpecificCallOut, PAGED_CODE, PagedPool, SeAssignSecurity(), SeDeassignSecurity(), and Status. Referenced by ObInsertObject(), and xxxCreateDesktop2().
|
|
Definition at line 983 of file obse.c. References FALSE, _OBJECT_TYPE_INITIALIZER::GenericMapping, NT_SUCCESS, NTSTATUS(), NULL, ObGetObjectSecurity(), OBJECT_TO_OBJECT_HEADER, ObpEnterObjectTypeMutex, ObpLeaveObjectTypeMutex, ObReleaseObjectSecurity(), PAGED_CODE, SeAccessCheck(), SeAppendPrivileges(), SeCreateObjectAuditAlarm(), SeFreePrivileges(), SeLockSubjectContext(), SeUnlockSubjectContext(), Status, TRUE, _OBJECT_HEADER::Type, and _OBJECT_TYPE::TypeInfo. Referenced by ObpLookupObjectName(), and xxxCreateDesktop2().
|
|
|
|
Definition at line 55 of file obcreate.c. References _OBJECT_CREATE_INFORMATION::Attributes, _OBJECT_HEADER::Body, FALSE, _OBJECT_HEADER::Flags, _OBJECT_CREATE_INFORMATION::NonPagedPoolCharge, NT_SUCCESS, NTSTATUS(), NULL, OB_FLAG_PERMANENT_OBJECT, ObjectAttributes, ObpAllocateObject(), ObpAllocateObjectCreateInfoBuffer, ObpCaptureObjectCreateInformation(), ObpFreeObject(), ObpFreeObjectCreateInfoBuffer, ObpFreeObjectNameBuffer(), ObpReleaseObjectCreateInformation, PAGED_CODE, _OBJECT_CREATE_INFORMATION::PagedPoolCharge, SeCreatePermanentPrivilege, SeSinglePrivilegeCheck(), and Status. Referenced by CmpCreateRegistryRoot(), CmpDoCreateChild(), CmpDoOpen(), ExCreateCallback(), IoCreateController(), IoCreateDevice(), IoCreateDriver(), IoCreateStreamFileObject(), IoCreateStreamFileObjectLite(), IopInitializeAttributesAndCreateObject(), IopLoadDriver(), IopParseDevice(), LpcpCreatePort(), MiSectionInitialization(), MmCreateSection(), NtAcceptConnectPort(), NtCreateChannel(), NtCreateDirectoryObject(), NtCreateEvent(), NtCreateEventPair(), NtCreateIoCompletion(), NtCreateJobObject(), NtCreateMutant(), NtCreateProfile(), NtCreateSemaphore(), NtCreateSuperSection(), NtCreateSymbolicLinkObject(), NtCreateTimer(), NtOpenChannel(), NtSecureConnectPort(), obtest(), PspCreateProcess(), PspCreateThread(), SepCreateToken(), SepDuplicateToken(), SepFilterToken(), xxxCreateDesktop2(), and xxxCreateWindowStation().
|
|
Definition at line 69 of file obtype.c. References _OBJECT_HEADER::Body, _OBJECT_TYPE_INITIALIZER::DefaultNonPagedPoolCharge, _OBJECT_TYPE::DefaultObject, _OBJECT_TYPE_INITIALIZER::DefaultPagedPoolCharge, Event(), ExAllocatePoolWithTag, ExFreePool(), ExInitializeResourceLite(), _OBJECT_HEADER::Flags, _OBJECT_TYPE::Index, KernelMode, L, _OBJECT_TYPE_INITIALIZER::MaintainTypeList, _OBJECT_TYPE::Mutex, _OBJECT_TYPE::Name, NonPagedPool, NT_SUCCESS, NtGlobalFlag, NTSTATUS(), NULL, OB_FLAG_KERNEL_OBJECT, OB_FLAG_PERMANENT_OBJECT, OBJECT_HEADER_TO_CREATOR_INFO, OBJECT_TYPE, OBP_MAX_DEFINED_OBJECT_TYPES, ObpAllocateObject(), ObpDefaultObject, ObpEnterObjectTypeMutex, ObpEnterRootDirectoryMutex, ObpInsertDirectoryEntry(), ObpLeaveObjectTypeMutex, ObpLeaveRootDirectoryMutex, ObpLookupDirectoryEntry(), ObpObjectTypes, ObpTypeDirectoryObject, ObpTypeObjectType, ObpValidateIrql, ObReferenceObject, PagedPool, POOL_TYPE, _OBJECT_TYPE_INITIALIZER::PoolType, RtlCopyUnicodeString(), RtlUnicodeStringToAnsiString(), _OBJECT_TYPE_INITIALIZER::SecurityProcedure, SeDefaultObjectMethod(), Status, _OBJECT_TYPE::TotalNumberOfObjects, TRUE, _OBJECT_HEADER::Type, _OBJECT_TYPE::TypeInfo, _OBJECT_TYPE::TypeList, _OBJECT_HEADER_CREATOR_INFO::TypeList, _OBJECT_TYPE_INITIALIZER::UseDefaultObject, and _OBJECT_TYPE_INITIALIZER::ValidAccessMask. Referenced by CmpCreateObjectTypes(), ExpEventInitialization(), ExpEventPairInitialization(), ExpInitializeCallbacks(), ExpMutantInitialization(), ExpProfileInitialization(), ExpSemaphoreInitialization(), ExpTimerInitialization(), ExpWin32Initialization(), IopCreateObjectTypes(), LpcInitSystem(), MiSectionInitialization(), MiSuperSectionInitialization(), ObInitSystem(), obtest(), PspInitPhase0(), and SepTokenInitialization().
|
|
Definition at line 713 of file obcreate.c. References _OBJECT_HEADER::Flags, NULL, OB_FLAG_NEW_OBJECT, OBJECT_TO_OBJECT_HEADER, _OBJECT_HEADER::ObjectCreateInfo, ObpFreeObjectCreateInformation, and PAGED_CODE. Referenced by CcInitializeCacheMap(), SepCreateClientSecurity(), and SepCreateToken().
|
|
Definition at line 416 of file obdevmap.c. References _OBJECT_DIRECTORY::DeviceMap, _DEVICE_MAP::DosDevicesDirectory, ExFreePool(), NULL, ObDereferenceObject, ObpDeviceMapLock, and _DEVICE_MAP::ReferenceCount. Referenced by ObSetDeviceMap(), and PspProcessDelete().
|
|
|
|
|
|
Definition at line 1124 of file obref.c. References APC_LEVEL, ASSERT, CriticalWorkQueue, ExInitializeWorkItem, ExQueueWorkItem(), FALSE, _LPCP_PORT_OBJECT::Flags, _OBJECT_HEADER::HandleCount, LpcpAcquireLpcpLock, LpcPortObjectType, LpcpReleaseLpcpLock, LpcWaitablePortObjectType, NonPagedPool, NULL, OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, ObpDecrPointerCountWithResult, ObpLock, ObpProcessRemoveObjectQueue(), ObpRemoveObjectQueue, ObpRemoveObjectRoutine(), ObpRemoveObjectWorkItem, ObpRemoveQueueActive, PASSIVE_LEVEL, _OBJECT_TYPE_INITIALIZER::PoolType, PORT_DELETED, _OBJECT_HEADER::SEntry, TRUE, _OBJECT_HEADER::Type, and _OBJECT_TYPE::TypeInfo. Referenced by ObDereferenceObject().
|
|
|
|
Definition at line 1279 of file obcreate.c. References ObpFreeObjectCreateInfoBuffer. Referenced by IoCreateStreamFileObjectLite().
|
|
Definition at line 58 of file obref.c. References OBJECT_TO_OBJECT_HEADER, and PAGED_CODE. Referenced by PsEnforceExecutionTimeLimits(), PspApplyJobLimitsToProcessSet(), and PspTerminateAllProcessesInJob().
|
|
Definition at line 1258 of file obse.c. References ExAllocatePoolWithTag, ExFreePool(), FALSE, _OBJECT_TYPE_INITIALIZER::GenericMapping, NT_SUCCESS, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, ObpBeginTypeSpecificCallOut, ObpCentralizedSecurity, ObpEndTypeSpecificCallOut, ObpReferenceSecurityDescriptor(), PAGED_CODE, PagedPool, _OBJECT_TYPE_INITIALIZER::PoolType, QuerySecurityDescriptor, _OBJECT_HEADER::SecurityDescriptor, _OBJECT_TYPE_INITIALIZER::SecurityProcedure, Status, TRUE, _OBJECT_HEADER::Type, and _OBJECT_TYPE::TypeInfo. Referenced by ObCheckCreateObjectAccess(), ObCheckObjectAccess(), ObInsertObject(), ObpCheckObjectReference(), ObpCheckTraverseAccess(), ObpProcessDosDeviceSymbolicLink(), PspCreateProcess(), PspCreateThread(), and PspSetPrimaryToken().
|
|
Definition at line 343 of file obdevmap.c. References NULL, ObpDeviceMapLock, ObSystemDeviceMap, and _DEVICE_MAP::ReferenceCount. Referenced by PspCreateProcess().
|
|
Definition at line 815 of file obinit.c. References ExCreateHandleTable(), ExDupHandleTable(), Executive, ExEnumHandleTable(), FALSE, KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseMutant(), KernelMode, KeWaitForSingleObject(), MaxPoolType, NULL, ObAuditInheritedHandleProcedure(), ObDupHandleProcedure(), _EPROCESS::ObjectTable, ObpInitKillMutant, _SE_PROCESS_AUDIT_INFO::Parent, _SE_PROCESS_AUDIT_INFO::Process, SE_PROCESS_AUDIT_INFO, and SeDetailedAuditing. Referenced by PspCreateProcess().
|
|
Definition at line 953 of file obinit.c. References ExSetHandleTableOrder, _EPROCESS::ObjectTable, and _EPROCESS::SubSystemVersion. Referenced by PspCreateProcess().
|
|
Definition at line 117 of file obinit.c. References ASSERT, _OBJECT_HEADER::Body, _OBJECT_HEADER_NAME_INFO::Directory, ExAllocatePoolWithTag, ExCreateHandleTable(), ExInitializeNPagedLookasideList(), ExInitializeResourceLite(), FALSE, Index, InitializationPhase, KeGetCurrentPrcb, KeInitializeEvent, KeInitializeMutant(), KeInitializeSpinLock(), KeNumberProcessors, KernelMode, KiProcessorBlock, _NPAGED_LOOKASIDE_LIST::L, L, LookasideCreateInfoList, LookasideNameBufferList, MM_SYSTEMSIZE, MmIsThisAnNtAsSystem(), MmLargeSystem, MmQuerySystemSize(), _OBJECT_HEADER_NAME_INFO::Name, NonPagedPool, NPAGED_LOOKASIDE_LIST, NT_SUCCESS, NtClose(), NtCreateDirectoryObject(), NTSTATUS(), NULL, ObCreateObjectType(), OBJECT_HEADER_TO_NAME_INFO, OBJECT_NAME_BUFFER_SIZE, ObjectAttributes, ObpAuditBaseDirectories, ObpAuditBaseObjects, ObpCreateDosDevicesDirectory(), ObpCreateInfoLookasideList, ObpDefaultObject, ObpDeleteSymbolicLink(), ObpDeviceMapLock, ObpDirectoryMapping, ObpDirectoryObjectType, ObpEnterRootDirectoryMutex, ObpInitKillMutant, ObpInitSecurityDescriptorCache(), ObpInsertDirectoryEntry(), ObpKernelHandleTable, ObpLeaveRootDirectoryMutex, ObpLock, ObpLookupDirectoryEntry(), ObpNameBufferLookasideList, ObpParseSymbolicLink(), ObpRemoveObjectQueue, ObpRootDirectoryMutex, ObpRootDirectoryObject, ObpSymbolicLinkMapping, ObpSymbolicLinkObjectType, ObpTypeDirectoryObject, ObpTypeMapping, ObpTypeObjectType, ObReferenceObjectByHandle(), PAGE_SIZE, PagedPool, _EPROCESS_QUOTA_BLOCK::PagefileLimit, PsGetCurrentProcess, PsGetCurrentThread, PspDefaultQuotaBlock, _EPROCESS_QUOTA_BLOCK::QuotaLock, _EPROCESS_QUOTA_BLOCK::QuotaPoolLimit, _EPROCESS_QUOTA_BLOCK::ReferenceCount, RtlAddAuditAccessAce(), RtlCreateAcl(), RtlCreateSecurityDescriptor(), RtlGetAce(), RtlInitUnicodeString(), RtlSetDaclSecurityDescriptor(), RtlSetSaclSecurityDescriptor(), SeLengthSid, SePublicDefaultUnrestrictedDacl, SePublicDefaultUnrestrictedSd, SeWorldSid, Status, TRUE, _OBJECT_TYPE::TypeList, and USHORT.
|
|
|
|
Definition at line 1022 of file obinit.c. References ExDestroyHandleTable(), Executive, FALSE, IoSetThreadHardErrorMode(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KeReleaseMutant(), KernelMode, KeWaitForSingleObject(), NULL, ObDestroyHandleProcedure(), _EPROCESS::ObjectTable, ObpInitKillMutant, ObpValidateIrql, and PAGED_CODE. Referenced by PspCreateProcess(), PspExitProcess(), and PspExitThread().
|
|
Definition at line 484 of file obclose.c. References FALSE, _OBJECT_HEADER::Flags, OB_FLAG_PERMANENT_OBJECT, OBJECT_TO_OBJECT_HEADER, ObpDeleteNameCheck(), and PAGED_CODE. Referenced by IoCreateDriver(), IoDeleteDevice(), IopCompleteUnloadOrDelete(), IopInitializeBootDrivers(), IopInitializeBuiltinDriver(), IopLoadDriver(), NtMakeTemporaryObject(), and NtUnloadDriver().
|
|
|
|
Definition at line 367 of file obref.c. References FALSE, _OBJECT_TYPE_INITIALIZER::GenericMapping, Handle, _OBJECT_TYPE_INITIALIZER::InvalidAttributes, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, OBJECT_TO_OBJECT_HEADER, ObOpenHandle, ObpCreateHandle(), ObpValidateIrql, ObReferenceObjectByPointer(), PAGED_CODE, SeCreateAccessState(), SeDeleteAccessState(), Status, _OBJECT_HEADER::Type, and _OBJECT_TYPE::TypeInfo. Referenced by CreateSystemThread(), IopInvalidateVolumesForDevice(), NtCreatePagingFile(), NtOpenProcess(), NtOpenProcessToken(), NtOpenThread(), NtOpenThreadToken(), NtUserOpenInputDesktop(), obtest(), UserBeep(), xxxCreateDisconnectDesktop(), xxxCreateWindowStation(), xxxResolveDesktop(), xxxSetCsrssThreadDesktop(), and xxxSwitchDesktop().
|
|
Definition at line 236 of file obdevmap.c. References _DEVICE_MAP::DriveMap, EXCEPTION_EXECUTE_HANDLER, NTSTATUS(), NULL, ObpDeviceMapLock, ObSystemDeviceMap, and Status. Referenced by NtQueryInformationProcess().
|
|
Definition at line 713 of file obquery.c. References _OBJECT_HEADER_NAME_INFO::Directory, EXCEPTION_EXECUTE_HANDLER, _OBJECT_HEADER_NAME_INFO::Name, NTSTATUS(), NULL, OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, OBP_MISSING_NAME_LITERAL, OBP_MISSING_NAME_LITERAL_SIZE, ObpBeginTypeSpecificCallOut, ObpEndTypeSpecificCallOut, ObpEnterRootDirectoryMutex, ObpLeaveRootDirectoryMutex, ObpRootDirectoryObject, PAGED_CODE, _OBJECT_TYPE_INITIALIZER::QueryNameProcedure, Status, String, _OBJECT_HEADER::Type, _OBJECT_TYPE::TypeInfo, and USHORT. Referenced by CcWriteBehind(), IoGetDeviceProperty(), IopBuildCmResourceList(), IopCaptureObjectName(), IopErrorLogThread(), IopQueryName(), IopRaiseHardError(), MmGetFileNameForSection(), NtQueryObject(), NtQueryVirtualMemory(), ObGetObjectInformation(), and SepQueryNameString().
|
|
Definition at line 1319 of file obquery.c. References ExMapHandleToPointer(), ExUnlockHandleTableEntry(), FALSE, Handle, KeEnterCriticalRegion, KeLeaveCriticalRegion, NTSTATUS(), NULL, _HANDLE_TABLE_ENTRY::ObAttributes, OBJ_AUDIT_OBJECT_CLOSE, ObpGetObjectTable, ObpValidateIrql, PAGED_CODE, Status, and TRUE.
|
|
Definition at line 1216 of file obquery.c. References ALIGN_UP, EXCEPTION_EXECUTE_HANDLER, NTSTATUS(), and Status. Referenced by NtQueryObject().
|
|
Definition at line 1082 of file obquery.c. References EXCEPTION_EXECUTE_HANDLER, _OBJECT_TYPE::Name, OBJECT_TO_OBJECT_HEADER, PAGED_CODE, String, _OBJECT_HEADER::Type, and USHORT. Referenced by ObGetObjectInformation(), and SepQueryTypeString().
|
|
Definition at line 542 of file obref.c. References ASSERT, _OBJECT_HEADER::Body, DecodeKernelHandle, ExMapHandleToPointer(), ExUnlockHandleTableEntry(), FALSE, _EPROCESS::GrantedAccess, _ETHREAD::GrantedAccess, _HANDLE_TABLE_ENTRY::GrantedAccess, _HANDLE_TABLE_ENTRY::GrantedAccessIndex, Handle, IsKernelHandle, KeDetachProcess(), KeEnterCriticalRegion, KeLeaveCriticalRegion, KernelMode, NtGlobalFlag, NTSTATUS(), NULL, _HANDLE_TABLE_ENTRY::ObAttributes, OBJ_HANDLE_ATTRIBUTES, _HANDLE_TABLE_ENTRY::Object, OBJECT_TO_OBJECT_HEADER, ObpGetObjectTable, ObpIncrPointerCount, ObpKernelHandleTable, ObpValidateIrql, PsGetCurrentProcess, PsGetCurrentThread, PsProcessType, PsThreadType, SeComputeDeniedAccesses, Status, TRUE, and _OBJECT_HEADER::Type. Referenced by _GetUserObjectInformation(), _SetUserObjectInformation(), BuildQueryDirectoryIrp(), CmGetSystemDriverList(), CmpCloneControlSet(), CmpCloneHwProfile(), CmpCreateEvent(), CmpCreateRegistryRoot(), CmpLinkHiveToMaster(), CmpSaveBootControlSet(), ExCreateCallback(), ExpCreateWorkerThread(), InitializeMediaChange(), InitializePowerRequestList(), IoAttachDevice(), IoCreateDriver(), IoCreateNotificationEvent(), IoCreateSynchronizationEvent(), IoGetDeviceObjectPointer(), IoInitSystem(), IopCompleteDumpInitialization(), IopConfigureCrashDump(), IopConnectLinkTrackingPort(), IopGetDumpStack(), IopInitializeBuiltinDriver(), IopLoadDriver(), IopMarkBootPartition(), IopOpenLinkOrRenameTarget(), IopReferenceDriverObjectByName(), IopSetEaOrQuotaInformationFile(), IopTrackLink(), IopXxxControlFile(), MiLoadSystemImage(), MmCreateSection(), MmGetFileNameForSection(), MmSetBankedSection(), NtAcceptConnectPort(), NtAdjustGroupsToken(), NtAdjustPrivilegesToken(), NtAlertResumeThread(), NtAlertThread(), NtAllocateUserPhysicalPages(), NtAllocateVirtualMemory(), NtAssignProcessToJobObject(), NtCancelIoFile(), NtCancelTimer(), NtClearEvent(), NtCreateKey(), NtCreatePagingFile(), NtCreateProfile(), NtCreateSuperSection(), NtDeleteKey(), NtDeleteValueKey(), NtDuplicateObject(), NtDuplicateToken(), NtEnumerateKey(), NtEnumerateValueKey(), NtExtendSection(), NtFilterToken(), NtFlushBuffersFile(), NtFlushInstructionCache(), NtFlushKey(), NtFlushVirtualMemory(), NtFreeUserPhysicalPages(), NtFreeVirtualMemory(), NtGetContextThread(), NtImpersonateAnonymousToken(), NtImpersonateThread(), NtListenChannel(), NtLockFile(), NtLockVirtualMemory(), NtMakeTemporaryObject(), NtMapViewOfSection(), NtMapViewOfSuperSection(), NtNotifyChangeDirectoryFile(), NtNotifyChangeMultipleKeys(), NtOpenKey(), NtOpenObjectAuditAlarm(), NtOpenThreadToken(), NtPrivilegeCheck(), NtPrivilegedServiceAuditAlarm(), NtPrivilegeObjectAuditAlarm(), NtProtectVirtualMemory(), NtPulseEvent(), NtQueryDirectoryObject(), NtQueryEaFile(), NtQueryEvent(), NtQueryInformationFile(), NtQueryInformationJobObject(), NtQueryInformationPort(), NtQueryInformationProcess(), NtQueryInformationThread(), NtQueryInformationToken(), NtQueryIoCompletion(), NtQueryKey(), NtQueryMultipleValueKey(), NtQueryMutant(), NtQueryObject(), NtQueryOpenSubKeys(), NtQueryQuotaInformationFile(), NtQuerySection(), NtQuerySecurityObject(), NtQuerySemaphore(), NtQuerySymbolicLinkObject(), NtQueryTimer(), NtQueryValueKey(), NtQueryVirtualMemory(), NtQueryVolumeInformationFile(), NtQueueApcThread(), NtReadFile(), NtReadFileScatter(), NtReadVirtualMemory(), NtRegisterThreadTerminatePort(), NtReleaseMutant(), NtReleaseSemaphore(), NtRemoveIoCompletion(), NtReplaceKey(), NtReplyWaitReceivePort(), NtReplyWaitReceivePortEx(), NtResetEvent(), NtRestoreKey(), NtResumeThread(), NtSaveKey(), NtSaveMergedKeys(), NtSecureConnectPort(), NtSendWaitReplyChannel(), NtSetContextThread(), NtSetDefaultHardErrorPort(), NtSetEaFile(), NtSetEvent(), NtSetHighEventPair(), NtSetHighWaitLowEventPair(), NtSetInformationFile(), NtSetInformationJobObject(), NtSetInformationKey(), NtSetInformationProcess(), NtSetInformationThread(), NtSetInformationToken(), NtSetIoCompletion(), NtSetLowEventPair(), NtSetLowWaitHighEventPair(), NtSetSecurityObject(), NtSetSystemInformation(), NtSetTimer(), NtSetValueKey(), NtSetVolumeInformationFile(), NtSignalAndWaitForSingleObject(), NtStartProfile(), NtStopProfile(), NtSuspendThread(), NtTerminateJobObject(), NtTerminateProcess(), NtTerminateThread(), NtUnloadDriver(), NtUnloadKey(), NtUnlockFile(), NtUnlockVirtualMemory(), NtUnmapViewOfSection(), NtUserGetGuiResources(), NtUserProcessConnect(), NtUserUserHandleGrantAccess(), NtWaitForSingleObject(), NtWaitHighEventPair(), NtWaitLowEventPair(), NtWriteFile(), NtWriteFileGather(), NtWriteVirtualMemory(), ObInitSystem(), ObpLookupObjectName(), ObSetDeviceMap(), obtest(), ObWaitForSingleObject(), OpenCacheKeyEx(), PsAssignImpersonationToken(), PsLocateSystemDll(), PsOpenTokenOfJobObject(), PsOpenTokenOfProcess(), PsOpenTokenOfThread(), PspAssignPrimaryToken(), PspCreateProcess(), PspCreateThread(), PspInitPhase0(), PspQueryPooledQuotaLimits(), PspQueryQuotaLimits(), PspQueryWorkingSetWatch(), PspSetPrimaryToken(), PspSetQuotaLimits(), RawInputThread(), ReferenceWindowStation(), RegisterForDeviceChangeNotifications(), RemoteConnect(), SeAccessCheckByType(), SeFilterToken(), SeIsChildToken(), SepAccessCheckAndAuditAlarm(), SepOpenTokenOfThread(), SetInformationProcess(), SmbTraceToClient(), UdfInvalidateVolumes(), ValidateHdesk(), ValidateHwinsta(), VdmpDelayInterrupt(), VdmpQueueInterrupt(), VdmpQueueIntNormalRoutine(), VdmQueryDirectoryFile(), WaitOnPseudoEvent(), xxxCloseDesktop(), xxxConsoleControl(), xxxCreateDesktop(), xxxCreateDisconnectDesktop(), xxxCreateThreadInfo(), xxxCreateWindowStation(), xxxGetThreadDesktop(), xxxHardErrorControl(), xxxInitTerminal(), xxxOpenDesktop(), xxxQueryInformationThread(), xxxRegisterUserHungAppHandlers(), xxxResolveDesktop(), xxxSetInformationThread(), xxxSetProcessWindowStation(), and zzzSetDesktop().
|
|
|
|
Definition at line 1022 of file obref.c. References KernelMode, OBJECT_TO_OBJECT_HEADER, ObpIncrPointerCount, ObpSymbolicLinkObjectType, and _OBJECT_HEADER::Type. Referenced by IoRegisterPlugPlayNotification(), NtImpersonateAnonymousToken(), ObOpenObjectByPointer(), ObpLookupObjectName(), ObpParseSymbolicLink(), obtest(), ParseAProc(), RawInputThread(), VdmpDelayInterrupt(), xxxDesktopThread(), and xxxSetCsrssThreadDesktop().
|
|
Definition at line 1418 of file obse.c. References ExFreePool(), NULL, ObpDereferenceSecurityDescriptor(), and PAGED_CODE. Referenced by ObCheckCreateObjectAccess(), ObCheckObjectAccess(), ObInsertObject(), ObpCheckObjectReference(), ObpCheckTraverseAccess(), ObpProcessDosDeviceSymbolicLink(), PspCreateProcess(), PspCreateThread(), and PspSetPrimaryToken().
|
|
Definition at line 30 of file obdevmap.c. References _OBJECT_DIRECTORY::DeviceMap, _EPROCESS::DeviceMap, DirectoryHandle, ExAllocatePoolWithTag, Handle, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceDeviceMap(), ObDereferenceObject, ObpDeviceMapLock, ObpDirectoryObjectType, ObReferenceObjectByHandle(), ObSystemDeviceMap, PAGED_CODE, PsGetCurrentProcess, _DEVICE_MAP::ReferenceCount, and Status. Referenced by NtSetInformationProcess(), and ObpCreateDosDevicesDirectory().
|
|
Definition at line 174 of file obse.c. References ASSERT, _OBJECT_TYPE_INITIALIZER::GenericMapping, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, PAGED_CODE, _OBJECT_TYPE_INITIALIZER::PoolType, _OBJECT_HEADER::SecurityDescriptor, _OBJECT_TYPE_INITIALIZER::SecurityProcedure, SetSecurityDescriptor, Status, _OBJECT_HEADER::Type, and _OBJECT_TYPE::TypeInfo. Referenced by IopChangeDeviceObjectFromRegistryProperties(), IopSetSecurityObjectFromRegistry(), and NtSetSecurityObject().
|
|
Definition at line 1473 of file obse.c. References _OBJECT_HEADER::Flags, NULL, OB_FLAG_DEFAULT_SECURITY_QUOTA, OBJECT_HEADER_TO_QUOTA_INFO, OBJECT_TO_OBJECT_HEADER, PAGED_CODE, SE_DEFAULT_SECURITY_QUOTA, and _OBJECT_HEADER_QUOTA_INFO::SecurityDescriptorCharge. Referenced by RtlpSetSecurityObject().
|
|
Definition at line 837 of file obwait.c. References _OBJECT_TYPE::DefaultObject, EXCEPTION_EXECUTE_HANDLER, FALSE, Handle, KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, OBJECT_TO_OBJECT_HEADER, ObReferenceObjectByHandle(), PAGED_CODE, Status, _OBJECT_HEADER::Type, and UserRequest.
|
|
Definition at line 249 of file ob.h. Referenced by ObInheritDeviceMap(), ObQueryDeviceMapInformation(), and ObSetDeviceMap(). |