共用方式為


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程式代碼。

其他可能的錯誤碼包括:

傳回碼 Description
STATUS_PENDING 廠商命令會延遲。
STATUS_INSUFFICIENT_RESOURCES 資源不足,無法配置廠商命令。

備註

此函式可以在 IRQL >= PASSIVE_LEVEL呼叫。 如果在 IRQL > PASSIVE_LEVEL呼叫函式,命令會延後。 完成後,會呼叫相機 minidriver 定義的 CommandCompleteFunction ,並在 CommandContext 自變數*中傳遞值。*

規格需求

需求
目標平台 桌面
標頭 usbcamdi.h (包含 Usbcamdi.h)
程式庫 Usbcamd2.lib
IRQL 大於或等於PASSIVE_LEVEL (请参阅一节)

另請參閱

CommandCompleteFunction