The StreamClassRegisterMinidriver routine registers a stream minidriver with the stream class driver.
NTSTATUS StreamClassRegisterMinidriver( _In_ PVOID Argument1, _In_ PVOID Argument2, _In_ PHW_INITIALIZATION_DATA HwInitializationData );
- Argument1 [in]
Points to the first argument to the minidriver's DriverEntry routine.
- Argument2 [in]
Points to the second argument to the minidriver's DriverEntry routine.
- HwInitializationData [in]
Points to an HW_INITIALIZATION_DATA structure that provides the information the class driver needs to begin initializing the minidriver.
Returns STATUS_SUCCESS on success, or the appropriate error code on failure.
A stream minidriver must call StreamClassRegisterMinidriver within its DriverEntry routine. For more information, see DriverEntry for Stream Class Minidrivers.
Most of the information passed in the HW_INITIALIZATION_DATA structure informs the class driver of the minidriver-wide callbacks, and what size buffers to allocate for the minidriver's data structures. The class driver queries the minidriver for additional start-up information through SRB_INITIALIZE_DEVICE and SRB_GET_STREAM_INFO requests to the minidriver's StrMiniReceiveDevicePacket routine (passed as the HwReceivePacket member of HW_INITIALIZATION_DATA).
Once registered, a minidriver can drive any number of adapter instances in a system.