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) |