共用方式為


PFNUSBCAMD_WaitOnDeviceEvent回呼函式 (usbcamdi.h)

如果相機有外部事件通知的中斷管道,則 USBCAMD_WaitOnDeviceEvent 服務可用來執行中斷管道的讀取。

語法

PFNUSBCAMD_WaitOnDeviceEvent PfnusbcamdWaitondeviceevent;

NTSTATUS PfnusbcamdWaitondeviceevent(
  [in] PVOID DeviceContext,
  [in] ULONG PipeIndex,
  [in] PVOID Buffer,
  [in] ULONG BufferLength,
  [in] PCOMMAND_COMPLETE_FUNCTION EventComplete,
  [in] PVOID EventContext,
  [in] BOOLEAN LoopBack
)
{...}

參數

[in] DeviceContext

裝置特定內容的指標。

[in] PipeIndex

指定中斷管道的索引。

[in] Buffer

讀取緩衝區的指標。

[in] BufferLength

讀取緩衝區的長度,以位元組為單位。

[in] EventComplete

定義 CommandCompleteFunction之相機迷你驅動程式的指標,當中斷讀取完成時呼叫此值,此值可以 NULL

[in] EventContext

記憶體區塊的指標,當做自變數傳遞至 CommandCompleteFunction定義的相機迷你驅動程式。

[in] LoopBack

指定每次中斷讀取完成時,USBCAMD 是否要重新提交另一個讀取要求給中斷管道。 設定為TRUE

傳回值

如果呼叫成功,USBCAMD_WaitOnDeviceEvent 會傳回STATUS_SUCCESS。 其他可能的錯誤碼包括:

傳回碼 描述
STATUS_FILE_CLOSED 裝置已移除。
STATUS_INVALID_PARAMETER USBCAMD 可能會因為許多原因而傳回STATUS_INVALID_PARAMETER,包括:傳入 PipeIndex 自變數的值無效、PipeIndex 自變數指定的管道類型代表無效的管道類型、大量讀取/寫入要求存在,或 Buffer 自變數 NULL。 BufferLength 自變數中指定的長度小於封包大小上限。
STATUS_PENDING 事件工作項目會延遲。
STATUS_INSUFFICIENT_RESOURCES 資源不足,無法配置工作專案以從管道讀取。

言論

此函式的典型使用案例是具有快照集按鈕的相機,以及與按鈕相關聯的中斷管道。 當使用者按下快照集按鈕時,會滿足中斷管道上的讀取要求,並回呼相機迷你驅動程式。 如果在 USBCAMD_InitializeNewInterface 呼叫期間,相機迷你驅動程式在 CamControlFlag 自變數中設定USBCAMD_CamControlFlag_EnableDeviceEvents,STI 監視器也會收到快照集事件的通知。

USBCAMD_WAITONDEVICEEVENT 無法在 USBCAMD 1.0 版中使用。

要求

要求 價值
目標平臺 桌面
標頭 usbcamdi.h (包括 Usbcamdi.h)

另請參閱

CommandCompleteFunction

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface