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 (请参阅备注部分) |