1.1.2 Registry
-
IoAssignResources
-
Takes an input list of preferred and alternative, or required, hardware
resources needed for a driver or device, inspects the registry for available
hardware resources, claims hardware resources in the registry ResourceMap
tree, and returns configuration information about the hardware resources it
claimed for the caller.
-
HalAssignSlotResources
-
Like IoAssignResources, takes an input list of preferred and
alternative hardware resources and claims available hardware resources in the
registry ResourceMap tree, returning information about the resources it
claimed to the caller. However, this routine claims hardware resources only
for drivers of devices on any given type of dynamically configurable I/O bus
with a published standard interface.
-
IoQueryDeviceDescription
-
Supplies basic hardware information about one or more of the given bus type
and bus number, controller type and controller number, and/or peripheral type
and peripheral number from the registry to a driver-supplied
configuration-callback routine.
-
IoReportResourceUsage
-
Claims hardware resources, such as ports in I/O space or device registers in
memory space, an interrupt vector, or a particular DMA controller channel, in
the registry so that a subsequently loaded driver cannot attempt to use the
same resources. To claim most types of resources, calling IoAssignResources
or HalAssignSlotResources is preferable.
-
RtlCheckRegistryKey
-
Returns STATUS_SUCCESS if a key exists in the registry along the given
relative path.
-
RtlCreateRegistryKey
-
Adds a key object in the registry along the given relative path.
-
RtlQueryRegistryValues
-
Gives the driver-supplied QueryRegistry callback (read only) access to the
entries for the specified value name along the specified relative path in the
registry when the QueryRegistry routine is given control.
-
RtlWriteRegistryValue
-
Writes caller-supplied data into the registry along the specified relative
path at the given value name.
-
RtlDeleteRegistryValue
-
Removes the specified value name (and the associated value entries) from the
registry along the given relative path.
-
InitializeObjectAttributes
-
Sets up a parameter of type OBJECT_ATTRIBUTES for a subsequent call to a ZwCreateXxx
or ZwOpenXxx routine.
-
ZwCreateKey
-
Creates a new key in the registry with the given object attributes, allowed
access, and creation options (such as whether the key is re-created when the
system is booted), or opens an existing key, and returns a handle for the key
object.
-
ZwOpenKey
-
Returns a handle for a key in the registry, given the object’s attributes
(which must include a name for the key) and the desired access to the object.
-
ZwQueryKey
-
Returns information about the class of a key, and the number and sizes of its
subkeys, such as the length of subkey names and the size of value entries.
-
ZwEnumerateKey
-
Returns the specified information about the subkeys of an opened key in the
registry.
-
ZwEnumerateValueKey
-
Returns the specified information about the value entry, as selected by a
zero-based index, of an opened key in the registry.
-
ZwQueryValueKey
-
Returns the value entry, as selected by a zero-based index, for an opened key
in the registry.
-
ZwSetValueKey
-
Replaces (or creates) a value entry for an opened key in the registry.
-
ZwFlushKey
-
Forces changes made by ZwCreateKey or ZwSetValueKey for the
opened key object to be written to disk.
-
ZwDeleteKey
-
Removes a key and its value entries from the registry as soon as the key is
closed.
-
ZwClose
-
Releases the handle for an opened object, causing the handle to become invalid
and decrementing the reference count of the object handle.