I have a virtual usb bus driver, it can load upper function drivers under the order of user mode application. But sometimes the driver can not loaded successfully. For example:
I want to add a virtual usb storage device on the system.
First: my virtual bus load usbstor.sys driver;
Second: usbstor.sys load disk.sys and others.
If the usbstor.sys fail to load, the bus would know. But if the usbstor.sys loaded successfully, and the disk.sys fail. The bus doesn’t know about this. The question is, how does the bus driver know about this?