步驟1:
Keygoe 系統收到API 打開設備命令,先檢查設備主類型,設備子類型是否合法,及是否有空閒的服務流程供使用,失敗則返回通用失敗事件並結束處理,成功則轉步驟2 或步驟3。
步驟2:
當指定了該設備的模塊ID 號、設備通道號時,直接檢查該設備通道是否空閒。當該設備通道已被佔用(即已經被打開),則返回佔用設備失敗事件;當該設備通道空閒,則設置爲佔用,並將該設備通道與一個空閒的服務流程綁定,以及將佔用的服務流程句柄放入deviceID 中,再通過打開設備事件包將完整的deviceID 返回給應用程序。
步驟3:
當僅指定設備的模塊ID 號,設備通道號未指定(設爲值-1),或者是模塊ID 號及設備通道號都未指定(都設爲值-1)時,系統自動尋找一個符合條件的空閒設備通道,並將該設備通道與一個空閒的服務流程綁定,以及將佔用的服務流程句柄放入deviceID
中,再通過打開設備事件包將完整的deviceID 返回給應用程序。當找不到符合條件的空閒設備通道時,返回通用失敗事件。