Stream class minidrivers use the following steps to initialize and prepare to stream data:
The hardware adapter supported by the minidriver is detected by the Plug and Play manager.
The Plug and Play manager loads the minidriver and calls the minidriver's DriverEntry routine. A file object is created from the information in the DriverEntry routine.
The minidriver calls the Stream class interface's StreamClassRegisterMinidriver function from its DriverEntry routine and passes a properly initialized HW_INITIALIZATION_DATA structure as a parameter. The HW_INITIALIZATION_DATA structure includes the addresses of minidriver functions that handle stream request block (SRB) command codes. This allows the minidriver to respond to SRB codes sent by the Stream class interface. A complete list of SRB command codes supported by the stream class is documented in the Stream Class SRB Reference.