PFNUSBCAMD_BulkReadWrite回调函数(usbcamdi.h)
USBCAMD_BulkReadWrite 服务对指定的大容量管道执行读取或写入作。
语法
PFNUSBCAMD_BulkReadWrite PfnusbcamdBulkreadwrite;
NTSTATUS PfnusbcamdBulkreadwrite(
[in] PVOID DeviceContext,
[in] USHORT PipeIndex,
[in] PVOID Buffer,
[in] ULONG BufferLength,
[in] PCOMMAND_COMPLETE_FUNCTION CommandComplete,
[in] PVOID CommandContext
)
{...}
参数
[in] DeviceContext
指向相机微型驱动程序的设备上下文的指针。
[in] PipeIndex
指定大容量管道的索引。
[in] Buffer
指向读取或写入缓冲区的指针。 如果此参数设置为 读取请求的 NULL,USBCAMD 将从与此管道关联的流的 SRB 读取队列中提取数据 SRB。 仅当SRB_WRITE_DATA请求提交到静止引脚时,才允许使用 NULL 缓冲区指针的写入请求。
[in] BufferLength
指定读/写缓冲区的长度(以字节为单位)。
[in] CommandComplete
指向定义 CommandCompleteFunction定义的相机微型驱动程序的指针,该驱动程序在大容量读取或写入完成后调用。 此值可以 NULL。
[in] CommandContext
指向内存块的指针,该块作为参数传递给 CommandCompleteFunction定义的相机微型驱动程序。
返回值
如果调用成功,USBCAMD_BulkReadWrite 返回STATUS_SUCCESS。 其他可能的错误代码包括:
返回代码 | 描述 |
---|---|
STATUS_FILE_CLOSED | 设备已删除。 |
STATUS_INVALID_PARAMETER | USBCAMD 可能出于多种原因返回STATUS_INVALID_PARAMETER,包括: PipeIndex 参数中传递的值无效。 PipeIndex 参数指定的管道的类型表示无效的管道类型。 已存在大容量读/写请求。 Buffer 参数 NULL。 |
STATUS_INSUFFICIENT_RESOURCES | 没有足够的资源来计划传输。 |
言论
USBCAMD 可以一次接受一个读取和一个写入请求。
USBCAMD_BULKREADWRITE 在 USBCAMD 版本 1.0 中不可用。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | usbcamdi.h (包括 Usbcamdi.h) |