Type of object by type of use. Types and types of real estate, their economic component

– this is a type of organizing information about real estate that allows arrangement according to certain characteristics. Required for cadastral and inventory registration, standardization of measures for their appropriate use.

Any activity in the real estate market is based on classification. Based on this, an audit of municipal and state property is carried out.

Non-compliance with the planned target functions is the reason for refusal of registration and approval of the construction project.

Classification of real estate by type of ownership

Each piece of real estate has an owner and is the property of an individual or legal entity, or is on the balance sheet of the regional administration or is maintained at the expense of the federal budget.

Similar to the types of owners, which include balance sheet holders, the following forms of ownership are distinguished:

  1. state;
  2. municipal;
  3. commercial;
  4. individual.

Depending on who owns the property, a civil legal chain of interaction is built. For example, the owner of the land is the state, which transfers plots assigned to regional territories to local municipalities.

But they are not full owners, since the delegated authority was transferred to them on the basis of permanent, unlimited use.


At the same time, they are in charge of managing the arrays. But - in accordance with state legislation, as well as when providing full reporting. Municipalities therefore play the role of authorized intermediaries.

In turn, they have the right to conduct property management, transferring real estate to enterprises and civilians:

  • into ownership;
  • for rent or hire.

Classification of real estate by scale

Scale is a property of objects that determines their ability to be further reorganized by dividing or combining.

For example, residential and non-residential premises have the ability to be combined into a building. But the building allows only division into rooms.

That is, the basis and basis of classification, in this case, is the accounting unit.

In general, they can be completed as follows:

  • land mass;
  • land plot;
  • private house with plot, cottage;
  • , summer cottage;
  • complexes of industrial buildings and structures;
  • building for industrial purposes;
  • multi-apartment high-rise building;
  • low-rise building;
  • separate apartment;
  • section or entrance, section floor;
  • a complex of administrative buildings;
  • office space;
  • shopping complex;
  • commercial premises.

This list is far from complete.

The main property of the listed objects is the cadastral registration number.


Based on this number, the complex or its share or part is entered into the cadastral records of Rosreestr, or is subject to inventory registration (see).

Classification of real estate by readiness for use

On this basic basis, buildings and premises are distinguished that allow or do not allow its operation (see). Based on these basic characteristics, all real estate available on the market is divided into the following types:

Finished capital buildings that acquired this status after completion of construction and commissioning. Receive permission for unhindered use for its intended purpose.

Unfinished objects are considered as such from the moment of approval and receipt of an extract from the urban planning documentation authorizing the construction of a capital structure, until the moment of commissioning.

If an unfinished building enters the “freezing” stage, which requires documentary support, it loses its original status.


This provision applies to those objects that are put up for auction, including due to bankruptcy of enterprises (see).
  • Buildings or premises requiring reconstruction or.
  • requiring demolition.

Objects enter this stage only after a commission inspection and execution of appropriate documentation stating the inadmissibility of their intended use (see).


Return back to

The list of capital construction projects is given in the "Regulations on the composition of sections of project documentation and requirements for their content." Approved by Decree of the Government of the Russian Federation No. 87.

Capital construction projects are divided depending on their functional purpose and characteristic features into the following types:

1. Objects for industrial purposes (buildings, structures, structures for industrial purposes, including defense and security), with the exception of linear objects.
2. Non-production facilities (buildings, structures, housing structures, socio-cultural and communal facilities, as well as other capital construction facilities for non-production purposes).
3. Linear objects (pipelines, roads and railways, power lines, etc.).

Types of buildings. Buildings are divided into residential and non-residential. A residential building (house) consists of rooms, as well as premises for auxiliary use, intended to satisfy citizens' household and other needs related to their residence in such a building. Residential buildings (houses) include permanent residential buildings, dormitories, shelters, houses of flexible stock, boarding houses for the elderly and disabled, veterans, special houses for single elderly people, orphanages, boarding schools at schools and boarding schools, and other houses.

Individual residential buildings are separate residential buildings with no more than three floors, intended for one family. They also include cottage-type houses (in which there is a small plot of land; cottages are predominantly two-story with an internal staircase, on the ground floor of which there is usually a common room, kitchen, utility rooms; on the second floor - bedrooms), single-apartment blocked residential buildings, consisting of self-contained residential units.

An apartment building is a collection of two or more apartments in a residential building that have independent access either to a land plot adjacent to a residential building or to common areas in such a building. An apartment building contains elements of common property of the owners of premises in such a building in accordance with housing legislation.

Non-residential buildings - buildings whose purpose is to create conditions for work, social and cultural services for the population and storage of material assets: industrial, agricultural, commercial, administrative, educational, healthcare, others (Rosstat Order No. 274 “On approval of the Instructions for filling out the federal statistical form observation No. S-1 “Information on the commissioning of buildings and structures”).

A structure is a result of construction, which is a volumetric, planar or linear building system, having ground, above-ground and (or) underground parts, consisting of load-bearing, and in some cases, enclosing building structures and intended for performing various types of production processes, storing products, temporary stay of people, movement of people and goods (clause 23 of part 2 of article 2 of Federal Law No. 384-FZ “Technical regulations on the safety of buildings and structures”).

Object headers contain data common to all objects, which can take on different values ​​for each instance of the object. For example, each object has a unique name and may have a unique security descriptor.

But objects also contain some data that remains constant across all objects of a particular type. For example, when you open a handle to an object of a certain type, you can select access rights from the set of permissions inherent to that type of object. The execution system provides, among other things, access to completion and suspension for objects of the stream type, and access to read, write, add, and delete for objects of the file type.

Another example of an attribute inherent to a particular type of object is synchronization, which will be discussed shortly.

To save memory, the object manager saves these static attributes associated with objects of a particular type once when a new object of the type is created. To record this data, it uses its own object, the so-called type object. As shown in the figure, if the debug flag for object tracking is set (discussed later in the "Windows Global Flags" section), the type object also links together all objects of the same type (in this case the type process), allowing the object manager to find those objects and count them if necessary. This feature takes advantage of the previously discussed subtitle with information about the creator.

Process objects and process type object.

You cannot work with objects of this type from user mode because the object manager does not provide any services for them. However, some of the attributes they define are visible through some native operating system services and Windows API procedures. The information stored in type initializers is described in the table.

Type initializer fields.

AttributePurpose
Type nameThe name of objects of this type (“process”, “event”, “port”, etc.)
Pool typeIndicates whether objects of this type can be allocated paged or non-paged memory
Default quota chargesPaged and nonpaged memory pool values ​​that make up the process's default quota.
Valid access maskThe types of access that a thread can request when opening a handle to an object of a given type (read, write, complete, suspend, etc.)
Generic access rights mappingMapping the four general permissions (read, write, execute, and all) to type-specific permissions
FlagsIndicate that objects should not have names (for example, in the case of process objects), that their names are case-sensitive, that they require a security descriptor, that they support object-filtered callbacks, and that they should
whether the descriptor database (handle information subheader) and/or type list interdependency (creator information subheader) is supported. The use default object flag also determines the behavior of the default object field shown later in this table.
Object type codeUsed to describe what an object's type is (as opposed to comparing it to a known name value). For file objects, the value of this field is set to 1, for synchronization objects to 2, and for stream objects to 4. This field is also used by ALPC to store descriptor attribute information associated with the message
Invalid attributesSpecifies object attribute flags that are not valid for this object type
Default objectDefines an internal object manager event that should be used when waiting for a given object if required by the type's object creator. Please note that objects such as File and ALPC port
already contain their own built-in object manager; in this case, this field is an offset in the body of the object. For example, an event inside a FILE_OBJECT structure is embedded in a field called Event
MethodsOne or more procedures called automatically by the object manager at certain points in the life of an object

View object titles and object type.

The data structure of an object of type “process” can be seen in the kernel debugger, having first identified this object using the!process command:

lkd> !process 0 0

****NT ACTIVE PROCESS DUMP ****

PROCESS fffffa800279cae0

SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000

DirBase: 00187000 ObjectTable: fffff8a000001920 HandleCount: 541.

Run the!object command with the address of the "process" object as an argument:

lkd> !object fffffa800279cae0

Object: fffffa800279cae0 Type: (fffffa8002755b60) Process

ObjectHeader: fffffa800279cab0 (new version)

HandleCount: 3 PointerCount: 172 3172

Note that on 32-bit Windows, the object header starts at 0x18 (24 decimal) bytes preceding the object body, and on 64-bit Windows it starts at 0x30 (48 decimal) bytes preceding the body, i.e. from the size of the object title itself. You can view the title of an object using the following command:

lkd> dt nt!_OBJECT_HEADER fffffa800279cab0

0x000 PointerCount: 172

0x008 HandleCount: 33

0x008 NextToFree: 0x000000000x00000000"00000003

0x010 Lock: _EX_PUSH_LOCK

0x018 TypeIndex: 0x7 ""

0x019 TraceFlags: 0 ""

0x01a InfoMask: 0 ""

0x01b Flags: 0x2 ""

0x020 ObjectCreateInfo: 0xfffff800"01c53a80 _OBJECT_CREATE_INFORMATION

0x020 QuotaBlockCharged: 0xfffff800"01c53a80

0x028 SecurityDescriptor: 0xfffff8a0"00004b29

0x030 Body: _QUAD

Now let's look at the data structure of a type object by obtaining its address from the ObTypeIndexTable table specified in the entry associated with the TypeIndex field of the object's header data structure:

lkd> ?? ((nt!_OBJECT_TYPE**)@@(nt!ObTypeIndexTable))[((nt!_OBJECT_

HEADER*)0xfffffa800279cab0)->TypeIndex]

struct _OBJECT_TYPE * 0xfffffa80"02755b60

0x000 TypeList: _LIST_ENTRY [ 0xfffffa80"02755b60 - 0xfffffa80"02755b60

0x010 Name: _UNICODE_STRING "Process"

0x020 DefaultObject: (null)

0x028 Index: 0x70x7 ""

0x02c TotalNumberOfObjects: 0x380x38

0x030 TotalNumberOfHandles: 0x1320x132

0x034 HighWaterNumberOfObjects: 0x3d

0x038 HighWaterNumberOfHandles: 0x13c

0x040 TypeInfo: _OBJECT_TYPE_INITIALIZER

0x0b0 TypeLock: _EX_PUSH_LOCK

0x0b8 Key: 0x636f7250

0x0c0 CallbackList: _LIST_ENTRY [ 0xfffffa80"02755c20 - 0xfffffa80"02755c20 ]

The output shows that the structure of a type object includes the name of the type object, it tracks the total number of active objects of that type and the peak number of handles and objects of that type. The CallbackList field also keeps track of the object manager callback filtering associated with this object of the type.

The TypeInfo field stores a pointer to a data structure that stores attributes common to all objects of this type, as well as pointers to methods of an object of the type:

lkd> ?? ((nt!_OBJECT_TYPE*)0xfffffa8002755b60)->TypeInfo*)0xfffffa8002755b60)->TypeInfo

0x000 Length: 0x70

0x002 ObjectTypeFlags: 0x4a "J"

0x002 CaseInsensitive: 0y0

0x002 UnnamedObjectsOnly: 0y1

0x002 UseDefaultObject: 0y0

0x002 SecurityRequired: 0y1

0x002 MaintainHandleCount: 0y0

0x002 MaintainTypeList: 0y0

0x002 SupportsObjectCallbacks: 0y1

0x004 ObjectTypeCode: 0

0x008 InvalidAttributes: 0xb0

0x00c GenericMapping: _GENERIC_MAPPING

0x01c ValidAccessMask: 0x1fffff

0x020 RetainAccess: 0x101000

0x024 PoolType: 0 (NonPagedPool)

0x028 DefaultPagedPoolCharge: 0x1000

0x02c DefaultNonPagedPoolCharge: 0x528

0x030 DumpProcedure: (null)

0x038 OpenProcedure: 0xfffff800"01d98d58 long nt!PspProcessOpen+0

0x048 DeleteProcedure: 0xfffff800"01d83090 void nt!PspProcessDelete+0

0x058 SecurityProcedure: 0xfffff800"01d8bb50 long nt!SeDefaultObjectMethod+0

0x060 QueryNameProcedure: (null)

0x068 OkayToCloseProcedure: (null)

Synchronization, one of the attributes visible to Windows applications, refers to the ability of threads to synchronize their execution by waiting for an object to transition from one state to another. A thread can synchronize with job, process, thread, file, semaphore, mutex, and timer objects. All other execution system objects do not support synchronization. An object's ability to maintain synchronization is based on three capabilities:

  • The execution system object wraps the dispatcher object and contains the dispatcher header.
  • The creator of a type object requires a default object, and the object manager provides such an object.
  • A runtime object has a built-in object manager, such as an event, somewhere within the object's body, and the owner of the object provides an offset to it to the object manager when registering an object of the type.