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)

另请参阅

CommandCompleteFunction

USBCAMD_INTERFACE