PHW_RECEIVE_DEVICE_SRB回调函数 (strmini.h)
微型驱动程序提供的例程处理应用于整个驱动程序的类驱动程序请求,例如初始化设备或在设备中打开流。
语法
PHW_RECEIVE_DEVICE_SRB PhwReceiveDeviceSrb;
void PhwReceiveDeviceSrb(
[in] IN PHW_STREAM_REQUEST_BLOCK SRB
)
{...}
参数
[in] SRB
指向流请求块的指针。
返回值
无
备注
微型驱动程序在其HW_INITIALIZATION_DATA结构的 HwReceivePacket 成员中指定此例程。 微型驱动程序在通过调用 StreamClassRegisterMinidriver 注册自身时将此结构传递给类驱动程序。
StrMiniReceiveDevicePacket 必须处理应用于整个驱动程序的类驱动程序请求,例如初始化设备或在设备中打开流。 类驱动程序以指向流请求块的指针的形式传递其信息。 类驱动程序将填充流请求块中的一些条目。 完成例程后,微型驱动程序必须填写类驱动程序将用于继续处理的其他信息。
完成对请求的处理后,微型驱动程序通过调用 StreamClassDeviceNotification (DeviceRequestComplete、pSRB-HwDeviceExtension>、pSRB) 将结构传递回类驱动程序。
请参阅Stream类 SRB 参考中有关相关 SRB 代码的信息。
微型驱动程序完成对请求的处理后,会在 pSrb-Status> 中输入操作的返回状态。 微型驱动程序应输入STATUS_SUCCESS,以便正常成功处理。 如果微型驱动程序不支持该 Command 值,则应将 pSrb-Status> 设置为 STATUS_NOT_IMPLEMENTED。 如果出现阻止微型驱动程序完成请求的设备硬件错误,则应将 pSrb-Status> 设置为 STATUS_IO_DEVICE_ERROR。 上面列出了例程在特定情况下使用的其他错误代码以及特定的命令代码。
请注意,类驱动程序将读取和写入请求传递给 StrMiniReceiveStreamDataPacket 例程。
微型驱动程序注册其 StrMiniReceiveStreamControlPacket 例程,如下所示:类驱动程序打开流时,它将 SRB_OPEN_STREAM 请求块传递给微型驱动程序的 StrMiniReceiveDevicePacket 例程。 请求数据包的 StreamObject 成员指向 HW_STREAM_OBJECT。 微型驱动程序将 StreamObject 指向的结构的 ReceiveControlPacket 成员设置为微型驱动程序的 StrMiniReceiveControlPacket 例程。
完成对请求的处理后,微型驱动程序会调用 StreamClassStreamNotification (StreamRequestComplete、pSRB-StreamObject>、pSRB) 将结构传回类驱动程序。
请参阅Stream类 SRB 参考中有关相关 SRB 代码的信息。
微型驱动程序完成对请求的处理后,会在 pSrb-Status> 中输入操作的返回状态。 微型驱动程序应输入STATUS_SUCCESS,以便正常成功处理。 如果微型驱动程序不支持该 Command 值,则应将 pSrb-Status> 设置为 STATUS_NOT_IMPLEMENTED。 如果出现阻止微型驱动程序完成请求的设备硬件错误,则应将 pSrb-Status> 设置为 STATUS_IO_DEVICE_ERROR。 上面列出了例程在特定情况下使用的其他错误代码以及特定的命令代码。
流类驱动程序调用微型驱动程序的 StrMiniReceiveStreamDataPacket 例程来处理特定流的读取和写入请求。
微型驱动程序注册其 StrMiniReceiveStreamDataPacket 例程,如下所示:当类驱动程序打开流时,它将 SRB_OPEN_STREAM 请求块传递给微型驱动程序的 StrMiniReceiveDevicePacket 例程。 请求数据包的 StreamObject 指向 HW_STREAM_OBJECT。 微型驱动程序将 pSrb-StreamObject> 指向的结构的 ReceiveDataPacket 成员设置为微型驱动程序的 StrMiniReceiveDataPacket 例程。
完成对请求的处理后,微型驱动程序会调用 StreamClassStreamNotification (StreamRequestComplete、pSRB-StreamObject>、pSRB) 将结构传回类驱动程序。
请参阅Stream类 SRB 参考中有关相关 SRB 代码的信息。
微型驱动程序完成对请求的处理后,会在 pSrb-Status> 中输入操作的返回状态。 微型驱动程序应输入STATUS_SUCCESS,以便正常成功处理。 如果微型驱动程序不支持该 Command 值,则应将 pSrb-Status> 设置为 STATUS_NOT_IMPLEMENTED。 如果出现阻止微型驱动程序完成请求的设备硬件错误,则应将 pSrb-Status> 设置为 STATUS_IO_DEVICE_ERROR。 上面列出了例程在特定情况下使用的其他错误代码以及特定的命令代码。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | strmini.h (包括 Strmini.h) |