?? 3.虛擬儀器系統io接口軟件.txt
字號:
mechanism 輸入 ViUInt16 事件處理機制
context 輸入 ViEvent 事件信息
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件通知允許
VI_SUCCESS_EVENT_EN 至少一種事件處理機制被允許
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_MECH 事件處理機制不合法
VI_ERROR_HNDLR_NINSTALLED 特定事件句柄未被安裝
4) 描述:該操作允許特定事件的通知,應用程序可采用事件排隊或回調(中斷)
方式處理該事件。
5) 相關項:參見viEventHandler()、viInstallHandler()、
viUnInstallHandler()。
6) 實現要求:若事件句柄未被安裝,則在回調(中斷)方式中返回錯誤值。
12、 viDisableEvent(vi,eventType,mechanism)
1) 目標:不允許特定事件通知
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
mechanism 輸入 ViUInt16 事件處理機制
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件通知不允許
VI_SUCCESS_EVENT_DIS 至少一種事件處理機制不被允許
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_MECH 事件處理機制不合法
4) 描述:該操作取消特定事件的服務通知。
5) 相關項:參見viEventHandler()、viInstallHandler()、
viUnInstallHandler()。
6) 實現要求:若一個對話通道上的事件處理機制不允許,事件登錄還將保留。
13、 viQueryEventMech(vi,eventType,mechanism)
1) 目標:查詢事件處理機制
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
mechanism 輸出 ViUInt16 事件處理機制
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件查詢完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
4) 描述:該操作查詢特定事件處理機制,所有事件處理機制返回值以“位或”操
作值形式給出。
5) 相關項:參見viEventHandler()、viInstallHandler()、
viUnInstallHandler()。
6) 實現要求:無。
14、 viInstallHandler(vi,eventType,handler,userHandle)
1) 目標:安裝事件回調句柄
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
handler 輸入 ViHndlr 應用程序中的事件句柄
userHandle 輸入 ViAddr 事件句柄值
3) 返回狀態值:
完成代碼:
VI_SUCCESS 安裝事件句柄完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
4) 描述:該操作允許應用程序去安裝事件處理句柄,句柄由輸入參數handler唯
一確定,事件類型包括資源事件(VI_RSRC_EVENT)、系統事件(VI_SYS_EVENT)、
異常事件(VI_EXCEPTION),當事件類型參數設為所有事件(VI_ALL_EVENTS)時,
以上三種類型事件句柄均被設置。
5) 相關項:參見viEventHandler()、viUnInstallHandler()。
6) 實現要求:無。
15、 viUninstallHandler(vi,eventType,handler,userHandle)
1) 目標:卸載事件回調句柄
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
handler 輸入 ViHndlr 應用程序中的事件句柄
userhandle 輸入 ViAddr 事件句柄值
3) 返回狀態值:
完成代碼:
VI_SUCCESS 卸載事件句柄完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_HNDLR_REF 句柄參數與所有已安裝的句柄不匹配
4) 描述:該操作允許應用程序去卸載事件處理句柄,句柄由輸入參數handler唯
一確定,事件類型包括資源事件(VI_RSRC_EVENT)、系統事件(VI_SYS_EVENT)、
異常事件(VI_EXCEPTION),當事件類型參數設為所有事件(VI_ALL_EVENTS)時,
以上三種類型事件句柄均被卸載。
4) 相關項:參見viEventHandler()、viEnableEvent()。
5) 實現要求:卸裝的句柄一定要先安裝。
16、 viQueryHandlers(vi,eventType,handlers,userHandle)
1) 目標:查詢事件已安裝句柄
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
handlers 輸出 ViPHndlr 應用程序中的事件句柄
userHandle 輸出 ViAddr 事件句柄值
3) 返回狀態值:
完成代碼:
VI_SUCCESS 查詢事件句柄完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
4) 描述:該操作查詢一種事件類型的所有已安裝的事件句柄。
5) 相關項:參見viInstallHandler()、viUnInstallHandler()。
6) 實現要求:無。
17、 viAcknowledgeEvent(vi,eventType,context)
1) 目標:對事件通知作響應
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
context 輸入 ViEvent 事件信息
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件響應完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_CONTEXT 事件信息不合法
4) 描述:該操作響應已經報告的事件發生,事件發生由信息結構唯一確定。
5) 相關項:參見viEventHandler()、viInstallHandler()。
6) 實現要求:資源將在接收到所有通知后才對事件作出響應。
18、 viWaitOnEvent(vi,eventType,timeout,outContext)
viWaitOnMultipleEvents(vi,eventTypeList,timeout,outContext,
outEventType)
1) 目標:等待特定事件的發生
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViPEventType 事件標識符
eventTypeList 輸入 ViPUInt16 事件標識符列表
timeout 輸入 ViUInt32 操作超時值
outContext 輸出 ViPEvent 事件信息
outEventType 輸出 ViEventType 返回事件類型
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件等待完成
VI_SUCCESS_QUEUE_EMPTY 事件等待完成,事件隊列空
VI_WARN_QUEUE_TRIP 事件等待完成。隊列中有多個事件
VI_WARN_QUEUE_FULL 事件等待完成。隊列已滿
VI_WARN_QUEUE_OVERFLOW 事件等待完成。隊列溢出且有事件丟失
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_CONTEXT 事件信息不合法
VI_ERROR_TMO 操作超時
VI_ERROR_QUEUE_TRIP 隊列中事件過多
VI_ERROR_QUEUE_FULL 隊列滿
VI_ERROR_QUEUE_OVERFLOW 隊列事件溢出
4) 描述:viWaitOnEvent()等待一個事件,viWaitOnMultipleEvents()等待
多個事件。
5) 相關項:參見viEnableEvent()。
6) 實現要求:當超時值為VI_INFINITE時,則會無限制等待下去。
19、 viDiscardEvents(vi,eventType,mechanism)
1) 目標:刷新一個對話通道上的事件發生
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
mechanism 輸入 ViUInt16 事件處理機制
3) 返回狀態值:
完成代碼:
VI_SUCCESS 事件刷新完成
VI_SUCCESS_QUEUE_EMPTY 事件刷新完成,事件隊列空
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_MECH 事件處理機制不當
4) 描述:該操作刷新隊列中所有事件發生與事件登錄,所有未被處理事件的信息
也將被丟掉。
5) 相關項:參見viEnableEvent()。
6) 實現要求:該操作會引起事件丟失。
20、 viGetEventInfo(vi,eventType,context,rsrcName,info)
1) 目標:獲取前一個事件發生的信息
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
context 輸入/輸出 ViEvent 事件信息
rsrcName 輸出 ViString 資源名
info 輸出 ViAddr 異常事件信息
3) 返回狀態值:
完成代碼:
VI_SUCCESS 命令傳遞完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
4) 描述:該操作用于取回事件處理信息,返回信息包括一個事件信息數據結構。
5) 相關項:參見viRaiseEvent()。
6) 實現要求:無。
21、 viRaiseEvent(vi,eventType,context,target)
1) 目標:通知資源或對話通道事件已發生
2) 參數表:
參數名 輸入/輸出方向 數據類型 描述
vi 輸入 ViSession 對話通道標識符(句柄)
eventType 輸入 ViEventType 事件標識符
context 輸入 ViEvent 事件信息
target 輸入 ViBoolean 請求目標(資源或通道)
3) 返回狀態值:
完成代碼:
VI_SUCCESS 通知事件發生完成
錯誤代碼:
VI_ERROR_INV_SESSION vi不能標識正當對話通道
VI_ERROR_RSRC_LOCKED 存取鎖定模式不支持特定操作
VI_ERROR_INV_TARGET 請求目標不當
VI_ERROR_INV_EVENT 特定事件不存在或不被支持
VI_ERROR_INV_CONTEXT 事件信息不當
VI_ERROR_QUEUE_FULL 事件隊列滿
VI_ERROR_NENABLED 當前無法感知事件
4) 描述:該操作用于通知資源或通道事件已發生,可以生成除了異常事件之外的
所有類型事件。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -