SRB_GET_STREAM_INFO
类驱动程序发送此请求以获取设备及其支持的流的说明。
返回值
微型驱动程序应将以下其中一项设置为 SRB 中的状态:
STATUS_SUCCESS
指示命令成功完成。
STATUS_IO_DEVICE_ERROR
指示发生了硬件故障。
注释
类驱动程序在 pSrb-CommandData.StreamBuffer > 中传递由微型驱动程序指定大小的缓冲区,以响应类驱动程序的SRB_INITIALIZE_DEVICE请求。 pSrb 指针指向HW_STREAM_REQUEST_BLOCK结构。 另请参阅 PORT_CONFIGURATION_INFORMATION。
微型驱动程序使用描述设备及其支持的流的HW_STREAM_DESCRIPTOR填充 CommandData.StreamBuffer。 此缓冲区的大小由 PORT_CONFIGURATION_INFORMATION 结构中的 StreamDescriptorSize 字段中的微型驱动程序指示。
类驱动程序通常只发出一次此请求。 微型驱动程序可能会强制类驱动程序重新发出此请求,以通过调用 StreamClassReenumerateStreams 来更新对受支持流的说明。
当微型驱动程序收到 SRB_GET_STREAM_INFO 命令时,微型驱动程序应:
检索流标头和流信息数据结构的指针。 例如:
PHW_STREAM_HEADER pstrhdr = (PHW_STREAM_HEADER)&(pSrb->CommandData.StreamBuffer->StreamHeader); PHW_STREAM_INFORMATION pstrinfo = (PHW_STREAM_INFORMATION)&(pSrb->CommandData.StreamBuffer->StreamInfo);
验证缓冲区是否足够大,足以保存返回的数据。
将信息写入缓冲区。