日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开机启动加载驱动过程中调用PostMessage函数出错

發(fā)布時(shí)間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开机启动加载驱动过程中调用PostMessage函数出错 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天在WINCE5.0+S3C2440系統(tǒng)調(diào)試檢測(cè)出租車是否載客的驅(qū)動(dòng)的時(shí)候遇到這樣的問題:

發(fā)現(xiàn)在開機(jī)啟動(dòng)加載驅(qū)動(dòng)過程中調(diào)用PostMessage函數(shù)時(shí)會(huì)導(dǎo)致調(diào)用的線程崩潰,比如如果下面的線程在創(chuàng)建時(shí)調(diào)用了:

PostMessage(HWND_BROADCAST, MSG_TAXI_BUSY, 0, 1);//taxi idle

就會(huì)彈出下面的信息:

AKY=00000005 PC=8c2d54fc(NK.EXE+0x000d54fc) RA=8c2c0b38(NK.EXE+0x000c0b38) BVA=00000001 FSR=00000001

?

如果在系統(tǒng)加載完成后再調(diào)用PostMessage函數(shù)就不會(huì)有這個(gè)問題,至于原因目前還不知道,如果知道的朋友,麻煩告知,謝謝。

?

下面是改為中斷檢查的線程Taxi_MonitorThread的實(shí)現(xiàn):

?

DWORD
Taxi_MonitorThread(PVOID pArg)
{

?Taxi_EnableInterrupt();

?gTaxiStatuIntrEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

?if (!(InterruptInitialize(SYSINTR_TAXI, gTaxiStatuIntrEvent, 0, 0)))
?{
??RETAILMSG(1, (TEXT("::: SYSINTR_POWER Init Fail/r/n")));
?}

?while(1)
?{
??WaitForSingleObject(gTaxiStatuIntrEvent, INFINITE);
??
??if(v_pIOPregs->rGPFDAT&(0x1<<7))
??{
???RETAILMSG(1, (TEXT("taxi idle!/r/n")));
???PostMessage(HWND_BROADCAST, MSG_TAXI_BUSY, 0, 1);//taxi idle
??}
??else
??{
???RETAILMSG(1, (TEXT("taxi busy!/r/n")));
???PostMessage(HWND_BROADCAST, MSG_TAXI_BUSY, 1, 1);//taxi busy
??}

??InterruptDone(SYSINTR_POWER);
?}

}

?

解決此問題的帖子http://topic.csdn.net/u/20110325/14/9c29b991-64e1-42a0-b4b3-bafe1241765c.html

總結(jié)

以上是生活随笔為你收集整理的开机启动加载驱动过程中调用PostMessage函数出错的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。