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)
Usbcamd2.lib
IRQL 大于或等于PASSIVE_LEVEL(请参阅“备注”部分)

另请参阅

CommandCompleteFunction