在CH341PT.h頭文件中給了幾個(gè)可調(diào)用的函數(shù), 其中: CH341PtHandleIsCH341( HANDLE iPortHandle ); CH341PtNameIsCH341( PUCHAR iPortName ); 這兩個(gè)使用成功,但是最后一個(gè)不知道如何用,文檔說(shuō)明如下 : 首先是一個(gè)typedef:
typedef VOID ( CALLBACK * mPCH341PT_NOTIFY_ROUTINE ) ( // 端口設(shè)備事件通知回調(diào)程序 LONG iDevIndexAndEvent ); // 端口設(shè)備序號(hào)和事件及當(dāng)前狀態(tài)(參考下行說(shuō)明) // iDevIndexAndEvent: 正數(shù)說(shuō)明是設(shè)備插入事件/已經(jīng)插入, 負(fù)數(shù)說(shuō)明是設(shè)備拔出事件/已經(jīng)拔出, 其絕對(duì)值是設(shè)備序號(hào)(1到255)
然后是函數(shù)定義:
BOOL WINAPI CH341PtSetDevNotify( // 設(shè)定端口設(shè)備事件通知程序 PCHAR iDeviceID, // 可選參數(shù),指向以\0終止的字符串,指定被監(jiān)控的設(shè)備的ID或者不含序號(hào)的主名稱,對(duì)于串口該參數(shù)必須為NULL或者"COM" mPCH341PT_NOTIFY_ROUTINE iNotifyRoutine ); // 指定端口設(shè)備事件回調(diào)程序,為NULL則取消事件通知,否則在檢測(cè)到事件時(shí)調(diào)用該程序
請(qǐng)問:這個(gè)函數(shù)該咋調(diào)用,是不是CH341PtSetDevNotify(NULL,ABCD);這個(gè)樣子,其中NULL是因?yàn)檫@里為串口監(jiān)控,而ABCD為我的一個(gè)函數(shù)名,比如: ABCD() { ////////監(jiān)控處理程序 } 也就是說(shuō),這個(gè)函數(shù)只是把監(jiān)控的消息和我的處理程序進(jìn)行了消息影射。