[Autogenerated] Much of the Windows functionality.
Is based around working with kernel objects.
For example, if I want to access the file, in the file system.
I would have to call the create file Windows API to get back,
a handle, that would allow me to talk, to the file in the file system,
and the file object created is an obstruction provided by
Windows that talks or allows me to talk,
to devices, and files.
Now in general, we have the object manager which is part of the executive,
that is responsible for managing objects in a generic way.
The object manager doesn't really care which object it.
Is managing it just knows how to manage objects in a generic way.
For example, by managing a reference count, and names for objects.
Some types of objects can have names.
And those that have names.
Are stored in a hierarchy which we'll see later in this module
that is also maintained by the project manager.
And allows us to look, up objects by name,
channel objects, are reference counted,
which means that when I no longer need access to a particular object.
I'm going to close the handle.
I have to my object,
but I don't know whether the object will actually be destroyed.
It depends on whether there are other clients, that hold on.
To handles or references to the object, only When the last reference,
is decremented the last handle being closed,
the last pointer being released related to a particular object,
only then will the project manager destroy the object when
working with objects from user mode the only way,
to access kernel objects which are always in kernel space,
is using this indirect mechanism called the handle.
And We'll talk about handles in mode detail.
Later in this module that's the only way,
to access kernel objects from user mode On the other hand,
kernel clients, which means the kernel itself.
And kernel device drivers can talk to kernel objects using
either handles or directly using pointers,
to the object.
Usually the choice is based on the API would like to
use some APIs require handles.
Some APIs require pointers, and in kernel mode its always fairly easy.
To Move between the two presentations with APIs which are documented,
in the Windows driver kit.
So let's see some object types.
And see what that looks like in general.