A direct-interface program runs continuously as a separate process in the system. As part of its initialization, the program registers with the service layer and indicates the component with which the program is associated. When the service layer receives requests from management applications for information in that component, the service layer passes the request over to the direct-interface program, which returns the appropriate values.
An advantage of the direct-interface program is its ability to maintain up-to-date component information. Because the program is always running, the attribute values for the component are always current and are not discarded between requests. The code for a direct-interface program can be added to the device driver code for the component (if appropriate) or to any other program that is loaded in the background.
A disadvantage of the direct-interface program is that it is always loaded and utilizing resources.