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