USBCAMD_ControlVendorCommand 函数 (usbcamdi.h)

USBCAMD_ControlVendorCommand函数将特定于供应商的命令发送到控制管道。

语法

NTSTATUS USBCAMD_ControlVendorCommand(
  [in]                PVOID                      DeviceContext,
  [in]                UCHAR                      Request,
  [in]                USHORT                     Value,
  [in]                USHORT                     Index,
  [in, out, optional] PVOID                      Buffer,
  [in, out]           PULONG                     BufferLength,
  [in]                BOOLEAN                    GetData,
  [in, optional]      PCOMMAND_COMPLETE_FUNCTION CommandComplete,
  [in, optional]      PVOID                      CommandContext
);

参数

[in] DeviceContext

指向特定于设备的上下文的指针。

[in] Request

指定供应商命令的 “请求” 字段的值。

[in] Value

指定供应商命令的 “值” 字段的值。

[in] Index

指定供应商命令的 “索引” 字段的值。

[in, out, optional] Buffer

指向数据缓冲区的指针(如果命令包含数据)。 如果命令没有任何数据,则此值为 NULL

[in, out] BufferLength

指向缓冲区长度值的指针。 缓冲区长度以字节表示。 如果 Buffer 的值为 NULL则 BufferLength 也可能为 NULL

[in] GetData

GetData 指示数据已从设备发送到主机。

[in, optional] CommandComplete

指向相机微型驱动程序定义的 CommandCompleteFunction 的指针,该函数在批量读取或写入完成时调用。 此值可以为 NULL

[in, optional] CommandContext

指向内存块的指针,该内存块作为参数传递给相机微型驱动程序定义的 CommandCompleteFunction

返回值

USBCAMD_ControlVendorCommand 从供应商命令返回 NTSTATUS 代码。

其他可能的错误代码包括:

返回代码 说明
STATUS_PENDING 供应商命令已延迟。
STATUS_INSUFFICIENT_RESOURCES 资源不足,无法分配供应商命令。

注解

可以在 IRQL >= PASSIVE_LEVEL 调用此函数。 如果在 IRQL > PASSIVE_LEVEL 调用函数,则命令将延迟。 完成后,将调用相机微型驱动程序定义的 CommandCompleteFunction 并在 CommandContext 参数*中传递值。*

要求

要求
目标平台 桌面
标头 usbcamdi.h (包括 Usbcamdi.h)
Library Usbcamd2.lib
IRQL 大于或等于 PASSIVE_LEVEL (请参阅备注部分)

另请参阅

CommandCompleteFunction