The initial internal device tree is built by taking all devices that satisfy the following criteria:
All devices that export the mngt DDI.
All devices that export the diag DDI.
All devices that have a bus parent that exports the mngt DDI. This means that the child drivers can be shut down or initialized via their bus parent.
The devices that are exposed via the DDM are:
All devices that have a parent (so that they can be shut down or reinitialized).
All diagnostic devices, as they are generally leaf devices, and not bus parent nodes.
The device tree API is summarized in the following table:
Function |
Description |
---|---|
svDdmAudit() |
Runs non-intrusive tests on an online device |
svDdmClose() |
Closes a previously made connection to the device driver manager |
svDdmDiag() |
Runs diagnostics on a node that is currently offline |
svDdmDisable() |
Locks the specified device node in the disabled state |
svDdmEnable() |
Enables a client to set the availability state of the specified device node to DDM_AVSTATE_ENABLED |
svDdmGetInfo() |
Enables the client of the DDM to obtain information on the specified node in the manageable device tree |
svDdmGetState() |
Enables the client of the DDM to get the state value of the specified node |
svDdmGetStats() |
Returns raw I/O statistics (counters) for an online device |
svDdmOffline() |
Enables the DDM client to set the run state of the specified node to DDM_RUNSTATE_OFFLINE |
svDdmOnline() |
Enables the DDM client to set the run state of the specified node to DDM_RUNSTATE_ONLINE |
svDdmOpen() |
Opens a connection to the device driver manager and obtains access to the management of the current device driver instances |
svDdmShutdown() |
Enables the DDM client to request that the driver running on the specified node is shut down |