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