锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美午夜精品理论片a级按摩 ,欧美激情片在线观看,欧美日韩亚洲高清一区二区http://m.shnenglu.com/zjj2816/zh-cnMon, 29 Sep 2025 19:21:07 GMTMon, 29 Sep 2025 19:21:07 GMT60Write HBITMAP Object in to BMP File 杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2009/02/16/73921.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Mon, 16 Feb 2009 03:32:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2009/02/16/73921.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/73921.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2009/02/16/73921.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/73921.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/73921.html</trackback:ping><description><![CDATA[<font face=Arial size=2>void WriteBMPFile(HBITMAP bitmap, LPTSTR filename, HDC hDC)<br>{<br>BITMAP bmp; <br>PBITMAPINFO pbmi; <br>WORD cClrBits; <br>HANDLE hf; // file handle <br>BITMAPFILEHEADER hdr; // bitmap file-header <br>PBITMAPINFOHEADER pbih; // bitmap info-header <br>LPBYTE lpBits; // memory pointer <br>DWORD dwTotal; // total count of bytes <br>DWORD cb; // incremental count of bytes <br>BYTE *hp; // byte pointer <br>DWORD dwTmp; <br><br>// create the bitmapinfo header information<br><br>if (!GetObject( (bitmap, sizeof(BITMAP), (LPSTR)&bmp)){<br>AfxMessageBox("Could not retrieve bitmap info");<br>return;<br>}<br><br>// Convert the color format to a count of bits. <br>cClrBits = (WORD)(bmp.bmPlanes * bmp.bmBitsPixel); <br>if (cClrBits == 1) <br>cClrBits = 1; <br>else if (cClrBits <= 4) <br>cClrBits = 4; <br>else if (cClrBits <= 8) <br>cClrBits = 8; <br>else if (cClrBits <= 16) <br>cClrBits = 16; <br>else if (cClrBits <= 24) <br>cClrBits = 24; <br>else cClrBits = 32; </font><br><font face=Arial size=2>// Allocate memory for the BITMAPINFO structure.<br>if (cClrBits != 24) <br>pbmi = (PBITMAPINFO) LocalAlloc(LPTR, <br>sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * (1<< cClrBits)); <br>else <br>pbmi = (PBITMAPINFO) LocalAlloc(LPTR, sizeof(BITMAPINFOHEADER)); <br><br>// Initialize the fields in the BITMAPINFO structure. <br><br>pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); <br>pbmi->bmiHeader.biWidth = bmp.bmWidth; <br>pbmi->bmiHeader.biHeight = bmp.bmHeight; <br>pbmi->bmiHeader.biPlanes = bmp.bmPlanes; <br>pbmi->bmiHeader.biBitCount = bmp.bmBitsPixel; <br>if (cClrBits < 24) <br>pbmi->bmiHeader.biClrUsed = (1<<cClrBits); <br><br>// If the bitmap is not compressed, set the BI_RGB flag. <br>pbmi->bmiHeader.biCompression = BI_RGB; <br><br>// Compute the number of bytes in the array of color <br>// indices and store the result in biSizeImage. <br>pbmi->bmiHeader.biSizeImage = (pbmi->bmiHeader.biWidth + 7) /8 * pbmi->bmiHeader.biHeight * cClrBits; <br>// Set biClrImportant to 0, indicating that all of the <br>// device colors are important. <br>pbmi->bmiHeader.biClrImportant = 0; <br><br>// now open file and save the data<br>pbih = (PBITMAPINFOHEADER) pbmi; <br>lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih->biSizeImage);<br><br>if (!lpBits) {<br>AfxMessageBox("writeBMP::Could not allocate memory");<br>return;<br>}<br><br>// Retrieve the color table (RGBQUAD array) and the bits <br>if (!GetDIBits(hDC, HBITMAP(bitmap), 0, (WORD) pbih->biHeight, lpBits, pbmi, <br>DIB_RGB_COLORS)) {<br>AfxMessageBox("writeBMP::GetDIB error");<br>return;<br>}<br><br>// Create the .BMP file. <br>hf = CreateFile(filename, GENERIC_READ | GENERIC_WRITE, (DWORD) 0, <br>NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, <br>(HANDLE) NULL); <br>if (hf == INVALID_HANDLE_VALUE){<br>AfxMessageBox("Could not create file for writing");<br>return;<br>}<br>hdr.bfType = 0x4d42; // 0x42 = "B" 0x4d = "M" <br>// Compute the size of the entire file. <br>hdr.bfSize = (DWORD) (sizeof(BITMAPFILEHEADER) + <br>pbih->biSize + pbih->biClrUsed <br>* sizeof(RGBQUAD) + pbih->biSizeImage); <br>hdr.bfReserved1 = 0; <br>hdr.bfReserved2 = 0; <br><br>// Compute the offset to the array of color indices. <br>hdr.bfOffBits = (DWORD) sizeof(BITMAPFILEHEADER) + <br>pbih->biSize + pbih->biClrUsed <br>* sizeof (RGBQUAD); <br><br>// Copy the BITMAPFILEHEADER into the .BMP file. <br>if (!WriteFile(hf, (LPVOID) &hdr, sizeof(BITMAPFILEHEADER), <br>(LPDWORD) &dwTmp, NULL)) {<br>AfxMessageBox("Could not write in to file");<br>return;<br>}<br><br>// Copy the BITMAPINFOHEADER and RGBQUAD array into the file. <br>if (!WriteFile(hf, (LPVOID) pbih, sizeof(BITMAPINFOHEADER) <br>+ pbih->biClrUsed * sizeof (RGBQUAD), <br>(LPDWORD) &dwTmp, ( NULL))){<br>AfxMessageBox("Could not write in to file");<br>return;<br>}<br><br><br>// Copy the array of color indices into the .BMP file. <br>dwTotal = cb = pbih->biSizeImage; <br>hp = lpBits; <br>if (!WriteFile(hf, (LPSTR) hp, (int) cb, (LPDWORD) &dwTmp,NULL)){<br>AfxMessageBox("Could not write in to file");<br>return;<br>}<br><br>// Close the .BMP file. <br>if (!CloseHandle(hf)){<br>AfxMessageBox("Could not close file");<br>return;<br>}<br><br>// Free memory. <br>GlobalFree((HGLOBAL)lpBits);<br>}</font> <img src ="http://m.shnenglu.com/zjj2816/aggbug/73921.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2009-02-16 11:32 <a href="http://m.shnenglu.com/zjj2816/archive/2009/02/16/73921.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐢╒S2008 Feature Pack 淇敼鎮ㄧ幇鏈夌殑Visual C++鐨勭▼搴忕晫闈?杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2009/01/09/71593.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Fri, 09 Jan 2009 05:51:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2009/01/09/71593.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/71593.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2009/01/09/71593.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/71593.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/71593.html</trackback:ping><description><![CDATA[涓婃緇欏ぇ瀹朵粙緇嶄簡Visual C++ 2008 鐨凢eature Pack鐨勭晫闈㈠簱鏂扮壒鎬с備粖澶╃粰澶у浠嬬粛涓涓嬶紝鎬庢牱鐢‵eature Pack鎶婃偍鐜版湁鐨刅isual C++ 紼嬪簭鐣岄潰淇敼寰楁紓浜簺銆?br> <br>       鎵闇鐨勪慨鏀圭幆澧冿細<br>       Visual C++ 2008  (Team Suite鐗圗xpress鐗堥兘鍙互錛屼絾蹇呴』鏄嫳鏂囩増錛屽惁鍒橣eature Pack涓嶆敮鎸?<br>       姝g‘鐨勫畨瑁呬簡Visual C++ 2008 Feature Pack beta<br>       鎮ㄨ淇敼鐨刅isual C++ 鐨勭▼搴忔簮浠g爜宸ョ▼<br> <br>       鍏峰浜嗕互涓婁笁鐐瑰氨鍙互寮濮嬭繘琛屼慨鏀規搷浣滀簡銆備絾鏄湁涓鐐規彁璇鋒敞鎰忥紝閭e氨鏄偍紼嬪簭涓槸鍚︾敤鍒頒簡MS C++ 9.0 緙栬瘧鍣ㄤ笉鍐嶆敮鎸佺殑璇硶鐗規э紵濡傛灉鏈夛紝閭e緢涓嶅垢錛屾垜涓漢涓嶆帹鑽愭偍鍗囩駭鎮ㄧ殑紼嬪簭鐣岄潰錛屾瘯绔熺▼搴忚繍琛岀殑紼沖畾鎬ф墠鏄渶閲嶈鐨勩備負浜嗘紓浜殑鐣岄潰淇敼宸茬粡嫻嬭瘯榪囧茍紼沖畾 榪愯鐨勪唬鐮侊紝鍙笉鏄竴涓槑鏅虹殑閫夋嫨銆?br> <br>       涓嬮潰鎴戝氨鐢ㄤ竴涓猇isual C++鐨勫叆闂―emo <a target="_blank">Scribble</a> 鏉ヤ慨鏀廣傝繖涓猄cribble鎮ㄥ彲浠ュ湪MSDN緗戠珯涓婁笅杞藉埌錛屼絾璇鋒偍娉ㄦ剰錛屾垜緇欏嚭鐨勮繖涓笅杞藉伐紼嬫槸VS2005 for x64鐨勩備笅杞藉悗錛屾偍闇瑕佽繘琛屼互涓嬫敼鍔細<br>        1) 灝哠cribble宸ョ▼灞炴т腑錛孋/C++緙栬瘧鍣ㄧ殑Treat Warnings as error 鍏抽棴錛屽惁鍒欐偍鐨勫伐紼嬪皢浼氬洜涓轟竴涓猈arning娌℃湁瑙e喅錛屽鑷存暣涓▼搴忕紪璇戝け璐ャ傚鍥撅細<br>         <img src="http://images.cnblogs.com/cnblogs_com/michaellee/disable_WX.jpg" alt="" border="0" height="530" width="762"><br> <br>       2) 緙栬瘧鏃訛紝灝員arget 鏀逛負Win32;<br> <br>       緗楀棪浜嗚繖涔堝錛屽紑濮嬩慨鏀瑰惂錛?br> <br>       絎竴姝? 璇風‘瀹欳ScribbleApp::InitialInstance() 鏂規硶涓凡緇忚皟鐢ㄤ簡AfxOleInit();<br>       絎簩姝? 鍦╯tdafx.h鏂囦歡涓姞鍏?#include"afxcontrolbars.h" ,榪欏ご鏂囦歡鍖呭惈浜咶eature Pack鏂板鐨勭晫闈㈢被澹版槑;<br>       絎笁姝ワ細淇敼CScribbleApp綾葷戶鎵跨殑鐖剁被錛岀敱CWinApp鏀逛負CWinAppEx;榪欎釜CWinAppEx綾繪瘮CWinApp娣? 鍔犱簡寰堝鐨勫姛鑳斤紝璇翠釜綆鍗曠殑錛孋WinAppEx鎻愪緵浜嗕竴涓猄etRegistryBase鏂規硶錛岃繖涓柟娉曞彲浠ョ敤鏉ヨ瀹氬綋鍓岮pp鎵浣跨敤鐨勬敞鍐岃〃鐨勬牴銆?br>       絎洓姝ワ細淇敼涓繪鏋剁被錛屽皢CMainFrame鐨勭埗綾葷敱CMDIFrameWnd鏀逛負CMDIFrameWndEx;榪欎釜淇敼璁捐鍒扮被澹版槑銆? IMPLEMENT_DYNAMIC瀹忋丮ESSAGE_MAP瀹忋丱nCreate鍑芥暟絳夎皟鐢ㄥ埌闈欐佹柟娉曠殑鍦版柟銆佷互鍙婂叾瀹冪瓑絳夈傛渶濂芥槸鐩存帴鐢? Replace all鏂囨湰鏇挎崲鎺?<br>       絎簲姝ワ細灝咰MDIChildWnd綾繪浛鎹負CMDIChildWndEx,涓繪鏋舵崲浜嗭紝瀛愮獥浣撲篃瑕佹崲;<br>       絎叚姝ワ細鏇挎崲CTooBar涓篊MFCTooBar錛屾浛鎹StatusBar涓篊MFCStatusBar;灝辨槸淇敼涓涓媘_wndStatusBar鍜宮_wndToolBar涓や釜鍙橀噺鐨勫0鏄庡;<br>       絎竷姝ワ細鏇挎崲CMainFrame::OnCreate()鍑芥暟涓璵_wndToolBar 鍜宮_wndStatusBar鍋滈潬鐨勭浉鍏充唬鐮?灝哠et/Get BarStyle鏀逛負Set/Get PaneStyle 涔熸槸鏂囨湰鏇挎崲涓涓嬶紝寰堢畝鍗曘傚皢DockControlBar(&m_wndStatusBar);鏀逛負 DockPane(&m_wndStatusBar);<br>       瀹屾垚浠ヤ笂涓冩,鍩烘湰鏀歸犲氨綆楀畬鎴愪簡銆備絾鏄鏋滄偍鐜板湪緙栬瘧鎮ㄧ殑紼嬪簭錛屾偍浼氬彂鐜癝cribble鐣岄潰鍩烘湰涓婃病鏈変換浣曟敼鍙樸備笅闈㈢殑鎵嶆槸鏇撮噸瑕佺殑錛屾垜浠娣誨姞RibbonBar浜嗭細<br> <br>       絎竴姝ワ細鍦–MainFrame綾諱腑澹版槑涓涓狢MFCRibbonBar綾誨瀷鐨勫彉閲弇_wndRibbonBar銆傝繖涓彉閲忓氨浠h〃Office2007鐣岄潰閲岄潰閭d釜鏇夸唬浜嗚彍鍗曠殑涓滀笢;<br>       絎簩姝ワ細鍦–MainFrame綾諱腑澹版槑涓涓狢MFCRibbonApplicationButton鐨勫彉閲弇_MainButton銆傝繖涓彉閲忎唬琛ㄤ簡Office2007鐣岄潰宸︿笂瑙掗偅涓狧ome鎸夐挳;<br>       絎笁姝ワ細鍦–MainFrame::OnCreate鍑芥暟涓坊鍔犱唬鐮併傞鍏堟槸鍒涘緩RibbonBar瀵硅薄錛岃佽鐭╋細<br>       if(!m_wndRibbonBar.Create(this))<br>       {<br>           return -1;<br>       }<br>       絎洓姝ワ細璁懼畾m_MainButton瀵硅薄錛?br>       m_MainButton.SetImage(……);   //璁懼畾鍥炬爣<br>       m_MainButton.SetToolTipText(……); //璁懼畾鎻愮ず鏂囨湰<br>       m_MainButton.SetText(……);   //璁懼畾鎸夐挳鏂囨湰<br>       絎簲姝ワ細鍦–MainFrame::OnCreate鍑芥暟涓坊鍔犱唬鐮侊紝閫氳繃RibbonBar瀵硅薄娣誨姞涓涓狢ategory:<br>       CMFCRibbonMainPanel *pMainPanel = m_wndRibbonBar.AddMainCategory(_T("File"));<br>       榪欏疄闄呬笂灝辯被浼間簬鍒涘緩浜嗕竴涓悕涓篎ile鐨勪富鑿滃崟欏?<br>       絎叚姝ワ細緇欒繖涓狿anel娣誨姞鎸夐挳(鍏跺疄灝辨槸瀛愯彍鍗曢」)錛?br>       pMainPanel->Add(new CMFCRibbonButton(ID_FILE_OPEN,_T("鎵撳紑")));<br>       ……<br>       絎竷姝ワ細<br>       鍦–MainFrame::OnCreate()鍑芥暟鐨勬渶鍚庨儴鍒?娣誨姞浠g爜璁懼畾褰撳墠鐣岄潰鐨勯鏍鹼細<br>       CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));<br>       CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007Luna_Blue);<br>       浠g爜鐨勭涓琛岀敤鏉ヨ瀹氬彲瑙嗗寲綆$悊鍣ㄤ負Office2007綾誨瀷錛屽彲渚涢夋嫨鐨勮繕鏈塐fficXP銆丱ffice2003銆乂S2005 涓夌,鎹㈠彞璇濊錛屾垜浠彲浠ュ皢鎴戜滑鐨勭▼搴忕晫闈慨鏀逛負Office2007銆丱ffice2003銆丱fficeXP銆乂S2005鍥涚椋庢牸;<br>       浠g爜鐨勭浜岃鐢ㄦ潵璁懼畾Office2007鐣岄潰鐨勮壊璋?<br>       瀹屾垚浠ヤ笂姝ラ鍚庯紝灝卞彲浠ョ紪璇戣繍琛屽暒錛岀湅鐪嬬晫闈㈡槸涓嶆槸鏀瑰彉浜嗗憿錛?br>       淇敼鍓嶏細<br>       <img src="http://images.cnblogs.com/cnblogs_com/michaellee/Scribble1.jpg" alt="" border="0" height="484" width="702"><br> <br>       淇敼鍚庯細<br>       <img src="http://images.cnblogs.com/cnblogs_com/michaellee/Scribble2.jpg" alt="" border="0" height="486" width="705"><br> <br>       鎴戞病鏈夋壘鍒版瘮杈冨ソ鐪嬬殑鍥炬爣錛屼篃娌℃湁鎶婅彍鍗曢兘瀹炵幇鍑烘潵錛屼粎浠呮槸浣滀負涓涓紨紺恒傜浉淇″湪緹庡伐鐨勫府鍔╀笅錛屾垜浠殑MFC紼嬪簭鐣岄潰涓瀹氫細婕備寒璧鋒潵鐨勩?br> <br>       璇村埌鏈鍚庯紝鎴戣鎻愰啋澶у涓涓嬶紝鍙戝竷紼嬪簭鍓嶏紝宸茬粡瑕侀潤鎬侀摼鎺FC鐨勫簱銆傚湪鐜板湪VC8.0 鐨凴TM灝氫笉鏅強鐨勬儏鍐典笅錛屽氨鍒寚鏈涙偍鐨勭敤鎴峰畨瑁呴儴緗蹭簡鏀寔Feature Packe鐨凢TM搴撲簡銆傜矖綺楃湅浜嗕竴涓嬶紝涓涓敤鍚戝鐢熸垚鐨勬敮鎸丗eature Pack鐨凙pplication(鏄殑錛屽畨瑁呬簡Feature Pack鍦ㄧ敤AppWizard鐢熸柊紼嬪簭鐨勬椂鍊?灝卞彲浠ユ寚瀹欶eature Pack鏀寔浜?錛屼粈涔堜唬鐮侀兘涓嶅姞錛岄潤鎬佺紪璇戜竴鑸湪6M-8M涔嬮棿(榪樼畻鍙互鎺ュ彈鐨勮)銆?br>       <img src="http://images.cnblogs.com/cnblogs_com/michaellee/Scribble_3.jpg" alt="" border="0" height="530" width="761"><br>      <img src ="http://m.shnenglu.com/zjj2816/aggbug/71593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2009-01-09 13:51 <a href="http://m.shnenglu.com/zjj2816/archive/2009/01/09/71593.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>.net鍒朵綔鐨剋ap緗戠珯鍦ㄦ墜鏈轟腑鐨勬祴璇?杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2008/12/31/70830.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Wed, 31 Dec 2008 02:46:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2008/12/31/70830.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/70830.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2008/12/31/70830.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/70830.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/70830.html</trackback:ping><description><![CDATA[<p style="text-align: left;">璁塊棶asp绔欑偣鐨勬椂鍊欎細鏍規嵁璁塊棶鐨勮澶?杈撳嚭涓嶅悓鐨勫唴瀹?濡傛灉鐢↖E璁塊棶灝辮緭鍑虹殑鏄痟tml,鎵嬫満璁塊棶,杈撳嚭灝辨槸WML銆傛槸浠涔堣浠栬繖涔堟櫤鑳藉寲鍛紵鍏抽敭涔嬪灝卞湪閰嶇疆鏂囦歡鐨?span style="color: #0000ff;"><</span><span style="color: #800000;">browserCaps</span><span style="color: #0000ff;">>鑺傦紒</span></p> <p style="text-align: left;"><span style="color: #0000ff;">鍦╳ebconfig涓姞涓婅繖涓紝浠栧彲浠ュ己鍒惰緭鍑簑ml錛岃繕鏈夊叾浠栫殑縐誨姩璁劇疆灞炴ч兘鍦ㄨ繖銆?/span></p> <p style="text-align: left;"><span style="color: #0000ff;"><span style="color: #0000ff;"><</span><span style="color: #800000;">browserCaps</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">result </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">use </span><span style="color: #ff0000;">var</span><span style="color: #0000ff;">="HTTP_USER_AGENT"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            browser=Unknown<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            version=0.0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            majorversion=0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            minorversion=0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            frames=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            tables=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            cookies=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            backgroundsounds=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            vbscript=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            javascript=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            javaapplets=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            activexcontrols=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            win16=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            win32=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            beta=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            ak=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            sk=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            aol=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            crawler=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            cdf=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            gold=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            authenticodeupdate=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            tagwriter=System.Web.UI.Html32TextWriter<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            ecmascriptversion=0.0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            msdomversion=0.0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            w3cdomversion=0.0<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            platform=Unknown<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            css1=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            css2=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            xml=false<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            mobileDeviceManufacturer = "Unknown"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            mobileDeviceModel = "Unknown"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            gatewayVersion = "None"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            gatewayMajorVersion = "0"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            gatewayMinorVersion = "0"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">           preferredRenderingType = "wml11"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">           preferredRenderingMime = "text/vnd.wap.wml"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">           preferredImageMime = "image/vnd.wap.wbmp"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultScreenCharactersWidth = "12"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultScreenCharactersHeight = "6"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultScreenPixelsWidth = "96"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultScreenPixelsHeight = "72"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultCharacterWidth = "8"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultCharacterHeight = "12"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            screenBitDepth = "1"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            isColor = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            inputType = "telephoneKeypad"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            numberOfSoftkeys = "0"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            maximumSoftkeyLabelLength = "5"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canInitiateVoiceCall = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canSendMail = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            hasBackButton = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersWmlDoAcceptsInline = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersWmlSelectsAsMenuCards = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersBreaksAfterWmlAnchor = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersBreaksAfterWmlInput = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersBreakBeforeWmlSelectAndInput = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresAttributeColonSubstitution = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresPhoneNumbersAsPlainText = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresUrlEncodedPostfieldValues = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiredMetaTagNameValue = ""<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            rendersBreaksAfterHtmlLists = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresUniqueHtmlCheckboxNames = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresUniqueHtmlInputNames = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresUniqueFilePathSuffix = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsCss = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            hidesRightAlignedMultiselectScrollbars = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderAfterInputOrSelectElement = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderInputAndSelectElementsTogether = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderOneventAndPrevElementsTogether = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canCombineFormsInDeck = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderMixedSelects = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderPostBackCards = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderSetvarZeroWithMultiSelectionList = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsImageSubmit = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsSelectMultiple = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresHtmlAdaptiveErrorReporting = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresContentTypeMetaTag = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresDBCSCharacter = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresOutputOptimization = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsAccesskeyAttribute = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsInputIStyle = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsInputMode = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsIModeSymbols = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsJPhoneSymbols = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsJPhoneMultiMediaAttributes = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            maximumRenderedPageSize = "2000"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresSpecialViewStateEncoding = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresNoBreakInFormatting = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresLeadingPageBreak = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsQueryStringInFormAction = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsCacheControlMetaTag = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsUncheck = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            canRenderEmptySelects = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsRedirectWithCookie = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsEmptyStringInCookieValue = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            cachesAllResponsesWithExpires = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            requiresNoSoftkeyLabels = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            defaultSubmitButtonLimit = "1"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            <br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsBold = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsItalic = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsFontSize = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsFontName = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsFontColor = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsBodyColor = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsDivAlign = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsDivNoWrap = "false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            supportsCharacterEntityEncoding = "true"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"><br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">            isMobileDevice="false"<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11"></span><span style="color: #0000ff;"></</span><span style="color: #800000;">browserCaps</span><span style="color: #0000ff;">></span> </span><span style="color: #000000;"><br> </span>鍙﹀閫氳繃璁劇疆<br>          Page.Response.Expires <span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br> <img src="http://www.aspxclub.com/UploadFile/Material/1/3974.gif" alt="" align="top" height="16" width="11">   Response.CacheControl </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">Public</span><span style="color: #000000;">"</span><span style="color: #000000;">;</span> <br> 鍙互<strong>鍙栨秷縐誨姩璁懼緙撳瓨錛屽茍閫氳繃</strong>RedirectToMobilePage鍑芥暟榪涜閲嶅畾鍚戙?/p><img src ="http://m.shnenglu.com/zjj2816/aggbug/70830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2008-12-31 10:46 <a href="http://m.shnenglu.com/zjj2816/archive/2008/12/31/70830.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>WINCE Driver and BSP Develop Blog 杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2008/12/24/70243.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Wed, 24 Dec 2008 07:12:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2008/12/24/70243.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/70243.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2008/12/24/70243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/70243.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/70243.html</trackback:ping><description><![CDATA[<h3 class="post-title"> 寮鍙戜紭縐鐨勯┍鍔ㄧ▼搴? </h3> <div id="hvzpftn" class="post-body"> <div> <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 瀹嬩綋;">浣滀負椹卞姩寮鍙戝伐紼嬪笀</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">鎴戜滑闇瑕佸湪姣忎竴琛屼唬鐮佷笂涓嬪姛澶?/span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">鍥犱負椹卞姩紼嬪簭鐨勬晥鐜囩洿鎺ュ獎鍝嶇潃緋葷粺鐨勬ц兘</span><span lang="EN-US">.</span><span style="font-family: 瀹嬩綋;">鑰屾柊鎵嬪線寰涓嶄細娉ㄦ剰鍒拌繖浜涚粏鑺傘備互涓哄姛鑳藉疄鐜頒互鍚庡氨涓囦簨澶у悏浜嗭紝鍏跺疄涓嶇劧錛屽ソ鐨勯┍鍔ㄧ▼搴忎笉鍙槸鑳藉疄鐜伴鏈熺殑鍔熻兘銆傚畠鍚屾牱闇瑕侀珮鐨勬晥鐜囦笌瑙勮寖鐨勯鏍箋傜敤鎴瘋姳閽變拱鎴戜滑緋葷粺鏄粰浠?/span><span lang="EN-US">/</span><span style="font-family: 瀹嬩綋;">濂瑰仛浜嬬殑錛岃屼笉鏄粰鎴戜滑鍋氭祴璇曠殑錛屾墍浠ユ垜浠灝藉彲鑳芥彁楂樻晥鐜囥傚悓鏃跺ソ鐨勪唬鐮侀鏍艱兘澶уぇ闄嶄綆鎴戜滑鑷繁鐨勭淮鎶ゆ垚鏈?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">楂樻晥鐜囩湅浼煎鏄擄紝浣嗚娉ㄦ剰鍒版瘡涓粏鑺傝繕鏄尯闅劇殑錛屾垜浠彲浠ヤ粠浠ヤ笅鍑犵偣鍘繪敞鎰忚繖涓棶棰橈細</span></p> <p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>1錛?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-family: 瀹嬩綋;">涓嶈浣跨敤鏃犲叧鐨勪唬鐮侊紝榪欑偣瀹規槗鐞嗚В錛屽挨鍏舵槸璋冭瘯浠g爜錛?/span><span lang="EN-US">RELEASE</span><span style="font-family: 瀹嬩綋;">鏃朵竴瀹氳鍘婚櫎榪欎簺浠g爜銆?/span></p> <p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>2錛?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-family: 瀹嬩綋;">鍘繪帀澶氫綑鐨勫嚱鏁拌皟鐢紝灝藉彲鑳界殑淇濆瓨涓浜涙暟鎹傚嵆浣挎槸鏈蹇殑鍑芥暟錛岃皟鐢ㄥ畠鏃朵篃浼氬紩鍙戝帇鏍堜笌鍑烘爤錛屾墍浠ヨ灝介噺灝戝仛鍑芥暟璋冪敤銆傚綋鐒跺鏋滀竴涓嚱鏁拌繑鍥炵殑鏁版嵁姣旇緝澶э紝淇濆瓨閭d簺鏁版嵁灝嗗崰鐢ㄦ瘮杈冨鐨勫唴鍦ㄧ┖闂達紝淇濆瓨榪斿洖鍊煎氨寰椾笉鍋垮け浜嗐傛瘮濡傦紝鐪嬪埌鏈夌殑浜烘瘡嬈″湪浣跨敤涓涓湴鍧鏃跺氨璋冪敤</span><span lang="EN-US">MmmapIoSpace</span><span style="font-family: 瀹嬩綋;">灝嗚繖涓湴鍧鏄犲皠鍒扮▼搴忓湴鍧絀洪棿錛岀敤瀹屼互鍚庡張绔嬪嵆</span><span lang="EN-US">Unmap</span><span style="font-family: 瀹嬩綋;">榪欎釜鍦板潃錛屼笅嬈′嬌鐢ㄦ椂鍙堝仛</span><span lang="EN-US">MAP</span><span style="font-family: 瀹嬩綋;">錛岃繖灝辨槸涓縐嶅強涓嶅ソ鐨勬柟娉曪紝姣忔闇瑕佸璋冪敤涓や釜緋葷粺鍑芥暟銆?/span></p> <p class="MsoNormal"><span lang="EN-US">3</span><span style="font-family: 瀹嬩綋;">錛庡鏋滃彲琛岋紝涓嶈鍦ㄥ驚鐜腑浣跨敤鏉′歡鍒ゆ柇錛屽挨鍏跺湪涓涓鏁板緢澶氱殑寰幆涓洿搴旇濡傛銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">姣斿錛?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">For( i=0; i<1000;></span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>If( m==1)<span> </span>..</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>Else if (m==2 )….</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>Else …..</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">榪欑浠g爜錛屾垜浠彲浠ユ妸</span><span lang="EN-US">If </span><span style="font-family: 瀹嬩綋;">鍐欏湪</span><span lang="EN-US">for </span><span style="font-family: 瀹嬩綋;">涔嬪錛屽嵆錛屾瘡涓縐嶄笉鍚岀殑鏉′歡鍐欎竴涓驚鐜綋銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>If( m==1)<span> </span>for ...</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>Else if (m==2 )<span> </span>for ….</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span> </span>Else<span> </span>for …..</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="blogger-labels">鏍囩錛?<a rel="tag">紼嬪簭鎶宸?/a></p> </div> </div> <p class="post-footer"> <em>寮犺創鑰咃細Blog by Braden @ <a title="permanent link">5/07/2007 07:56:00 涓婂崍</a></em>   <a class="comment-link" location.><span style="text-transform: lowercase;">0 鏉¤瘎璁?/span></a> <a class="comment-link"><span style="text-transform: lowercase;">鎸囧悜姝ゅ笘瀛愮殑閾炬帴</span></a> <span id="hvzpftn" class="item-action"><a title="浠ョ數瀛愰偖浠跺彂閫佸笘瀛?><img src="http://www.blogger.com/img/icon18_email.gif" class="icon-action" alt="" height="13" width="18"></a></span><span id="hvzpftn" class="item-control blog-admin pid-2106978906"><a style="border: medium none ;" title="淇敼甯栧瓙"><img src="http://www.blogger.com/img/icon18_edit_allbkg.gif" class="icon-action" alt="" height="18" width="18"></a></span> </p> <!-- End .post --> <!-- Begin #comments --> <!-- End #comments --> <h2 class="date-header">2007-03-10</h2> <!-- Begin .post --> <div id="hvzpftn" class="post"><a name="216214469836542308"></a> <h3 class="post-title"> 寮鍙慏MA椹卞姩 </h3> <div id="hvzpftn" class="post-body"> <div> <span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">浣跨敤</span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">鐨勫ソ澶勫氨鏄畠涓嶉渶瑕?/span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鐨勫共棰勮岀洿鎺ユ湇鍔″璁撅紝榪欐牱</span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">灝卞彲浠ュ幓澶勭悊鍒殑浜嬪姟錛屼粠鑰屾彁楂樼郴緇熺殑鏁堢巼錛屽浜庢參閫熻澶囷紝濡?/span><span lang="EN-US">UART</span><span style="font-family: 瀹嬩綋;">錛屽叾浣滅敤鍙槸闄嶄綆</span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鐨勪嬌鐢ㄧ巼錛屼絾瀵逛簬楂橀熻澶囷紝濡傜‖鐩橈紝瀹冧笉鍙槸闄嶄綆</span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鐨勪嬌鐢ㄧ巼錛岃屼笖鑳藉ぇ澶ф彁楂樼‖浠惰澶囩殑鍚炲悙閲忋傚洜涓哄浜庤繖縐嶈澶囷紝</span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鐩存帴渚涘簲鏁版嵁鐨勯熷害澶綆銆?/span> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">鍥?/span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鍙兘涓涓葷嚎鍛ㄦ湡鏈澶氬瓨鍙栦竴嬈℃葷嚎錛岃屼笖瀵逛簬</span><span lang="EN-US">ARM</span><span style="font-family: 瀹嬩綋;">錛屽畠涓嶈兘鎶婂唴瀛樹腑</span><span lang="EN-US">A</span><span style="font-family: 瀹嬩綋;">鍦板潃鐨勫肩洿鎺ユ惉鍒?/span><span lang="EN-US">B</span><span style="font-family: 瀹嬩綋;">鍦板潃銆傚畠鍙兘鍏堟妸</span><span lang="EN-US">A</span><span style="font-family: 瀹嬩綋;">鍦板潃鐨勫兼惉鍒頒竴涓瘎瀛樺櫒錛岀劧鍚庡啀浠庤繖涓瘎瀛樺櫒鎼埌</span><span lang="EN-US">B</span><span style="font-family: 瀹嬩綋;">鍦板潃銆備篃灝辨槸璇達紝瀵逛簬</span><span lang="EN-US">ARM</span><span style="font-family: 瀹嬩綋;">錛岃鑺辮垂涓や釜鎬葷嚎鍛ㄦ湡鎵嶈兘灝?/span><span lang="EN-US">A</span><span style="font-family: 瀹嬩綋;">鍦板潃鐨勫奸佸埌</span><span lang="EN-US">B</span><span style="font-family: 瀹嬩綋;">鍦板潃銆傝?/span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">灝變笉鍚屼簡錛屼竴鑸郴緇熶腑鐨?/span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">閮芥湁紿佸彂錛?/span><span lang="EN-US">Burst</span><span style="font-family: 瀹嬩綋;">錛変紶杈撶殑鑳藉姏錛屽湪榪欑妯″紡涓嬶紝</span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">鑳戒竴嬈′紶杈撳嚑涓敋鑷沖嚑鍗佷釜瀛楄妭鐨勬暟鎹紝鎵浠ヤ嬌鐢?/span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">鑳戒嬌璁懼鐨勫悶鍚愯兘鍔涘ぇ涓哄寮恒?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">浣跨敤</span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">鏃舵垜浠繀欏昏娉ㄦ剰濡備笅浜嬪疄錛?/span></p> <p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>1錛?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">浣跨敤鐗╃悊鍦板潃錛岀▼搴忔槸浣跨敤铏氭嫙鍦板潃鐨勶紝鎵浠ラ厤緗?/span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">鏃跺繀欏誨皢铏氭嫙鍦板潃杞寲鎴愮墿鐞嗗湴鍧銆?/span></p> <p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>2錛?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-family: 瀹嬩綋;">鍥犱負紼嬪簭浣跨敤铏氭嫙鍦板潃錛岃屼笖涓鑸嬌鐢?/span><span lang="EN-US">CACHED</span><span style="font-family: 瀹嬩綋;">鍦板潃錛屾墍浠ヨ櫄鎷熷湴鍧涓殑鍐呭涓庡叾鐗╃悊鍦板潃涓婄殑鍐呭涓嶄竴瀹氫竴鑷磋緸錛屾墍浠ュ湪鍚姩</span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">浼犺緭涔嬪墠涓瀹氳灝嗚鍦板潃鐨?/span><span lang="EN-US">CACHE</span><span style="font-family: 瀹嬩綋;">鍒鋒柊錛屽嵆鍐欏叆鍐呭瓨銆?/span></p> <p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span lang="EN-US"><span>3錛?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span lang="EN-US">OS</span><span style="font-family: 瀹嬩綋;">騫朵笉鑳戒繚璇佹瘡嬈″垎閰嶅埌鐨勫唴鍦ㄧ┖闂村湪鐗╃悊涓婃槸榪炵畫鐨勩傚挨鍏舵槸鍦ㄧ郴緇熶嬌鐢ㄨ繃涓孌墊椂闂磋屽張鍒嗛厤浜嗕竴鍧楁瘮杈冨ぇ鐨勫唴瀛樻椂銆?/span></p> <p class="MsoNormal" style="margin-left: 18pt;"><span style="font-family: 瀹嬩綋;">鎵浠ユ瘡嬈¢兘闇瑕佸垽鏂湴鍧鏄笉鏄繛緇殑錛屽鏋滀笉榪炵畫灝遍渶瑕佹妸榪欐鍐呭瓨鍒嗘垚鍑犳璁?/span><span lang="EN-US">DMA</span><span style="font-family: 瀹嬩綋;">瀹屾垚浼犺緭銆?/span></p> <p class="MsoNormal" style="margin-left: 18pt;"><span lang="EN-US"><o:p> </o:p></span></p> <p class="blogger-labels">鏍囩錛?<a rel="tag">BaseKnowledge</a></p> </div> </div> <p class="post-footer"> <em>寮犺創鑰咃細Blog by Braden @ <a title="permanent link">3/10/2007 09:44:00 涓嬪崍</a></em>   <a class="comment-link" location.><span style="text-transform: lowercase;">0 鏉¤瘎璁?/span></a> <a class="comment-link"><span style="text-transform: lowercase;">鎸囧悜姝ゅ笘瀛愮殑閾炬帴</span></a> <span id="hvzpftn" class="item-action"><a title="浠ョ數瀛愰偖浠跺彂閫佸笘瀛?><img src="http://www.blogger.com/img/icon18_email.gif" class="icon-action" alt="" height="13" width="18"></a></span><span id="hvzpftn" class="item-control blog-admin pid-2106978906"><a style="border: medium none ;" title="淇敼甯栧瓙"><img src="http://www.blogger.com/img/icon18_edit_allbkg.gif" class="icon-action" alt="" height="18" width="18"></a></span> </p> </div> <!-- End .post --> <!-- Begin #comments --> <!-- End #comments --> <h2 class="date-header">2007-03-03</h2> <!-- Begin .post --> <div id="hvzpftn" class="post"><a name="5156944094587713279"></a> <h3 class="post-title"> WINCE涓婾SBFN椹卞姩紼嬪簭鐨勪竴浜涙蹇? </h3> <div id="hvzpftn" class="post-body"> <div> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">錛屽嵆</span><span lang="EN-US">USB</span><span style="font-family: 瀹嬩綋;">瀹㈡埛绔┍鍔紝鐢ㄦ潵灝嗕竴涓?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">璁懼妯℃嫙鎴愪竴瀹氱殑</span><span lang="EN-US">USB</span><span style="font-family: 瀹嬩綋;">璁懼錛岃涓繪満绔紙濡?/span><span lang="EN-US">PC</span><span style="font-family: 瀹嬩綋;">錛夎闂傜洰鍓?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">鎻愪緵鐨?/span><span lang="EN-US">USB</span><span style="font-family: 瀹嬩綋;">瀹㈡埛绔湁瀛樺偍璁懼錛屼覆鍙h澶囷紝鍙?/span><span lang="EN-US">RNDIS</span><span style="font-family: 瀹嬩綋;">緗戠粶鎺ュ彛璁懼銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 瀹嬩綋;">瀛樺偍璁懼鐢ㄦ潵灝?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">璁懼涓婄殑瀛樺偍絀洪棿錛屼緥濡?/span><span lang="EN-US">FLASH</span><span style="font-family: 瀹嬩綋;">錛屽綋浣滀竴鍧楀瓨鍌ㄤ粙璐ㄧ粰涓繪満璁塊棶錛屽嵆灝?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">璁懼妯℃嫙鎴愪竴涓?/span><span lang="EN-US">U</span><span style="font-family: 瀹嬩綋;">鐩樸?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">涓插彛璁懼灝嗚澶囦笌涓繪満鐨?/span><span lang="EN-US">USB</span><span style="font-family: 瀹嬩綋;">榪炵嚎妯℃嫙鎴愪覆鍙o紝</span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">鍜屼富鏈虹閮借涓哄畠浠箣鍓嶈繛鎺ヤ笂浜嗕竴鏍逛覆鍙g嚎錛屽畠浠箣闂村彲浠ュ仛涓插彛閫氫俊錛屽吀鍨嬬殑搴旂敤鏄敤鏉ュ疄鐜?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">涓?/span><span lang="EN-US">PC</span><span style="font-family: 瀹嬩綋;">鏈虹殑鍚屾榪炴帴銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>RNDIS</span><span style="font-family: 瀹嬩綋;">璁懼浣夸袱绔涓哄畠浠箣闂村緩绔嬩簡緗戠粶榪炴帴錛岄氳繃娉ㄥ唽琛ㄨ緗彲浠ヨ涓繪満閫氳繃</span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">璁懼涓婄綉鎴栬呬嬌</span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">璁懼閫氳繃涓繪満涓婄綉銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>WINCE</span><span style="font-family: 瀹嬩綋;">宸茬粡鎻愪緵浜嗕互涓婁笁縐嶈澶囩殑椹卞姩紼嬪簭錛屽湪鍚屼竴鏃跺埢鍙兘浣跨敤涓涓澶囥傝屾垜浠渶瑕佸仛鐨勫彧鏄彁渚?/span><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">鎬葷嚎鎺у埗鍣ㄧ殑椹卞姩紼嬪簭銆?/span><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">緋葷粺鍚勪釜妯″潡鐨勫叧緋誨涓嬶細</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>USBFN</span><span style="font-family: 瀹嬩綋;">鎬昏礬綰挎帶鍒跺櫒浣滀負涓涓葷嚎椹卞姩紼嬪簭錛岃璁懼綆$悊鍣ㄥ姞杞斤紝鏍規嵁娉ㄥ唽琛ㄨ緗姞杞界浉搴旂殑瀹㈡埛椹卞姩紼嬪簭錛屽嵆瀛樺偍璁懼錛屼覆鍙h澶囨垨鑰?/span><span lang="EN-US">RNDIS</span><span style="font-family: 瀹嬩綋;">璁懼銆傚鎴烽┍鍔ㄧ▼搴忓嵆鍚姩</span><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">錛屽紩鍙戜富鏈洪厤緗澶囷紝閰嶇疆瀹屾垚浠ュ悗鍗沖彲寮濮嬪伐浣溿?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span><span style="font-family: 瀹嬩綋;">鑰?/span><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">鎬昏礬綰挎帶鍒跺櫒椹卞姩鐨?/span><span lang="EN-US">MDD</span><span style="font-family: 瀹嬩綋;">閮ㄥ垎</span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">鏈韓宸茬粡鎻愪緵錛?/span><span lang="EN-US">PDD</span><span style="font-family: 瀹嬩綋;">鍙渶鍒濆鍖栫‖浠惰澶囷紝鎻愪緵浼犺緭鍗沖彲銆?/span><span lang="EN-US">MDD</span><span style="font-family: 瀹嬩綋;">鍦ㄥ垵濮嬪寲鏃惰皟鐢?/span><span lang="EN-US">UfnPdd_Init</span><span style="font-family: 瀹嬩綋;">鍑芥暟寰楀埌</span><span lang="EN-US">PDD</span><span style="font-family: 瀹嬩綋;">灞傜殑鍑芥暟琛紝涔嬪悗浼氭牴鎹渶瑕佽皟鐢ㄥ悇涓嚱鏁般?/span><span lang="EN-US">PDD</span><span style="font-family: 瀹嬩綋;">榪橀渶瑕佹彁渚?/span><span lang="EN-US">IST</span><span style="font-family: 瀹嬩綋;">錛岀敤浠ュ鐞嗗悇涓腑鏂傞渶瑕佹敞鎰忕殑鏄?/span><span lang="EN-US">USBFN</span><span style="font-family: 瀹嬩綋;">鏈変竴涓笌鍏跺畠璁懼涓嶅悓涔嬪錛屽畠鐨勬敞鍐岃〃闇瑕佽繖鏍蜂竴涓緗細</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>"BusIoctl"=dword:<st1:chmetcnv unitname="a" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0" st="on">2a</st1:chmetcnv>0048</span><span style="font-family: 瀹嬩綋;">錛岀敤浠ヨ緋葷粺鍔犺澆瀹岃澶囦箣鍚庤皟鐢ㄥ間負</span><span lang="EN-US">0x<st1:chmetcnv unitname="a" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0" st="on">2a</st1:chmetcnv>0048</span><span style="font-family: 瀹嬩綋;">鐨?/span><span lang="EN-US">IOCTL</span><span style="font-family: 瀹嬩綋;">浠g爜鍘誨畬鎴愬垵濮嬪寲錛屽叾瀹氫箟涓?/span><span style="font-size: 12pt; font-family: 瀹嬩綋;" lang="EN-US">IOCTL_BUS_POSTINIT</span><span style="font-size: 12pt; font-family: 瀹嬩綋;">銆?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="blogger-labels">鏍囩錛?<a rel="tag">BaseKnowledge</a></p> </div> </div> <p class="post-footer"> <em>寮犺創鑰咃細Blog by Braden @ <a title="permanent link">3/03/2007 06:56:00 涓嬪崍</a></em>   <a class="comment-link" location.><span style="text-transform: lowercase;">2 鏉¤瘎璁?/span></a> <a class="comment-link"><span style="text-transform: lowercase;">鎸囧悜姝ゅ笘瀛愮殑閾炬帴</span></a> <span id="hvzpftn" class="item-action"><a title="浠ョ數瀛愰偖浠跺彂閫佸笘瀛?><img src="http://www.blogger.com/img/icon18_email.gif" class="icon-action" alt="" height="13" width="18"></a></span><span id="hvzpftn" class="item-control blog-admin pid-2106978906"><a style="border: medium none ;" title="淇敼甯栧瓙"><img src="http://www.blogger.com/img/icon18_edit_allbkg.gif" class="icon-action" alt="" height="18" width="18"></a></span> </p> </div> <!-- End .post --> <!-- Begin #comments --> <!-- End #comments --> <h2 class="date-header">2007-02-28</h2> <!-- Begin .post --> <div id="hvzpftn" class="post"><a name="990238142699354822"></a> <h3 class="post-title"> SOURCES鏂囦歡璇﹁В </h3> <div id="hvzpftn" class="post-body"> <div> <p class="MsoNormal"><span lang="EN-US">SOURCES</span><span style="font-family: 瀹嬩綋;">鏂囦歡鏄?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">搴曞眰寮鍙戜腑鏈閲嶈鐨勬枃浠朵箣涓</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">涓昏鐨勯厤緗」濡備笅</span><span lang="EN-US">:</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US"><o:p></o:p>TARGETNAME,</span><span style="font-family: 瀹嬩綋;">瀹氫箟妯″潡鍚嶇О</span><span lang="EN-US">.<br>TARGETTYPE,</span><span style="font-family: 瀹嬩綋;">妯″潡鐨勭綾?/span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">鍙互鏄?/span><span lang="EN-US">DYNLINK, LIBRARY,EXE.<br></span><span style="font-family: 瀹嬩綋;">濡傛灉</span><span lang="EN-US">TARGETTYPE</span><span style="font-family: 瀹嬩綋;">鏄?/span><span lang="EN-US">DLL,</span><span style="font-family: 瀹嬩綋;">鍒欏彲浠ュ畾涔?/span><span lang="EN-US">DLLENTRY,</span><span style="font-family: 瀹嬩綋;">灝?/span><span lang="EN-US">Dll</span><span style="font-family: 瀹嬩綋;">鍏ュ彛瀹氫箟鎴愬埆鐨勪笉鏄?/span><span lang="EN-US">DLLMain</span><span style="font-family: 瀹嬩綋;">鐨勫嚱鏁?/span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">濡傛灉</span><span lang="EN-US">DLL</span><span style="font-family: 瀹嬩綋;">鐨勫叆鍙f槸</span><span lang="EN-US">DllMain</span><span style="font-family: 瀹嬩綋;">錛屽垯涓嶉渶瑕佸埆鐨勫畾涔夈?/span><span lang="EN-US"><br></span><span style="font-family: 瀹嬩綋;">濡傛灉</span><span lang="EN-US">TARGETTYPE</span><span style="font-family: 瀹嬩綋;">鏄?/span><span lang="EN-US">EXE,</span><span style="font-family: 瀹嬩綋;">鍒欏彲浠ュ畾涔?/span><span lang="EN-US">EXEENTRY,</span><span style="font-family: 瀹嬩綋;">鐢ㄤ簬鎸囧畾</span><span lang="EN-US">EXE</span><span style="font-family: 瀹嬩綋;">鐨勫叆鍙e嚱鏁?/span><span lang="EN-US">. </span></p> <p class="MsoNormal"><span style="font-family: 瀹嬩綋;">濡傛灉</span><span lang="EN-US">TARGETTYPE</span><span style="font-family: 瀹嬩綋;">鏄?/span><span lang="EN-US">LIBRARY,</span><span style="font-family: 瀹嬩綋;">鍒欎笉闇瑕佸畾涔夊叆鍙e嚱鏁般?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p><br>INCLUDES</span><span style="font-family: 瀹嬩綋;">錛屽鏋滀竴涓ā鍧楅渶瑕佷嬌鐢ㄩ潪鏍囧噯璺緞涓嬬殑澶存枃浠舵椂</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">闇瑕佸畾涔?/span><span lang="EN-US">INCLUDES,</span><span style="font-family: 瀹嬩綋;">鐢ㄤ簬鍖呭惈鏇村鐨勫ご鏂囦歡璺緞</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">鐢ㄦ硶濡備笅</span><span lang="EN-US">:<br><br>INCLUDES=$(INCLUDES);\new directory\...,</span><span style="font-family: 瀹嬩綋;">娉ㄦ剰瀹氫箟鏂扮殑</span><span lang="EN-US">INCLUDES</span><span style="font-family: 瀹嬩綋;">鏃?/span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">闇瑕佸寘鍚?/span><span lang="EN-US">INCLUDES</span><span style="font-family: 瀹嬩綋;">鍘熸潵鐨勫鹼紝鍚﹀垯灝遍渶瑕佸寘鍚墍鏈夊彲鑳界殑鐩綍銆?/span><span lang="EN-US"><br><br>TARGETLIBS,SOURCELIBS</span><span style="font-family: 瀹嬩綋;">鐢ㄤ簬瀹氫箟璇ユā鍧楅渶瑕侀摼鎺ュ摢浜涘簱鏂囦歡</span><span lang="EN-US">.</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p><br>TARGETLIBS</span><span style="font-family: 瀹嬩綋;">錛屽鏋滀竴涓簱浠?/span><span lang="EN-US">DLL</span><span style="font-family: 瀹嬩綋;">鐨勫艦寮忔彁渚涚粰璋冪敤鑰咃紝灝遍渶瑕佺敤</span><span lang="EN-US">TARGETLIBS</span><span style="font-family: 瀹嬩綋;">錛屽畠鍙摼鎺ヤ竴涓嚱鏁板湴鍧錛岀郴緇熸墽琛屾椂浼氬皢琚摼鎺ョ殑搴撳姞杞姐傛瘮濡?/span><span lang="EN-US">coredll.lib</span><span style="font-family: 瀹嬩綋;">灝辨槸榪欐牱鐨勫簱鏂囦歡銆傚嵆鍔ㄦ侀摼鎺ャ?/span></p> <p class="MsoNormal"><span lang="EN-US">SOURCELIBS</span><span style="font-family: 瀹嬩綋;">錛屽皢搴撲腑鐨勫嚱鏁板疄浣撻摼鎺ヨ繘鏉ャ傚嵆闈欐侀摼鎺ワ紝鐢ㄥ埌鐨勫嚱鏁頒細鍦ㄦ垜浠殑鏂囦歡涓艦鎴愪竴浠芥嫹璐濄?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span><br><span style="font-family: 瀹嬩綋;">娉ㄦ剰錛屽唴鏍歌繖涓墽琛屾枃浠舵槸娌℃湁</span><span lang="EN-US">TARGETLIBS</span><span style="font-family: 瀹嬩綋;">鐨勶紝</span><span lang="EN-US">GIISR.DLL</span><span style="font-family: 瀹嬩綋;">涔熶笉鑳芥湁</span><span lang="EN-US">TARGETLIBS</span><span style="font-family: 瀹嬩綋;">銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><br>WINCECOD,</span><span style="font-family: 瀹嬩綋;">濡傛灉灝嗗叾瀹氫箟涓?/span><span lang="EN-US">1,</span><span style="font-family: 瀹嬩綋;">鍒欑紪璇戝櫒浼氫負姣忎竴涓枃浠剁敓鎴?/span><span lang="EN-US">.cod</span><span style="font-family: 瀹嬩綋;">鏂囦歡</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">瀹冩槸涓涓眹緙栨枃浠訛紝璋冭瘯鏃舵煡鐪嬫眹緙栦唬鐮佷篃鏄竴縐嶅緢濂界殑鍔炴硶銆?/span><span lang="EN-US"><br><br>SOURCES,</span><span style="font-family: 瀹嬩綋;">瀹氫箟璇ユā鍧楅渶瑕佸摢浜涙簮鏂囦歡</span><span lang="EN-US">.</span></p> <p class="blogger-labels">鏍囩錛?<a rel="tag">BaseKnowledge</a></p> </div> </div> <p class="post-footer"> <em>寮犺創鑰咃細Blog by Braden @ <a title="permanent link">2/28/2007 09:09:00 涓嬪崍</a></em>   <a class="comment-link" location.><span style="text-transform: lowercase;">1 鏉¤瘎璁?/span></a> <a class="comment-link"><span style="text-transform: lowercase;">鎸囧悜姝ゅ笘瀛愮殑閾炬帴</span></a> <span id="hvzpftn" class="item-action"><a title="浠ョ數瀛愰偖浠跺彂閫佸笘瀛?><img src="http://www.blogger.com/img/icon18_email.gif" class="icon-action" alt="" height="13" width="18"></a></span><span id="hvzpftn" class="item-control blog-admin pid-2106978906"><a style="border: medium none ;" title="淇敼甯栧瓙"><img src="http://www.blogger.com/img/icon18_edit_allbkg.gif" class="icon-action" alt="" height="18" width="18"></a></span> </p> </div> <!-- End .post --> <!-- Begin #comments --> <!-- End #comments --> <h2 class="date-header">2007-02-17</h2> <!-- Begin .post --> <a name="8604944099509790452"></a> <h3 class="post-title"> 澶氫釜璁懼鍏變韓鍚屼竴涓‖浠朵腑鏂? </h3> <span lang="EN-US"><o:p></o:p></span><span style="font-family: 瀹嬩綋;">紜歡涓柇綰挎繪槸鏈夐檺鐨勶紝鎴戜滑鍙兘闇瑕佸湪宸叉湁鐨勭郴緇熶笂鍋氫竴浜涙墿灞曪紝姣斿灝嗕覆鍙f墿灞曟垚濂藉嚑涓紝鏈変簺紜歡鏈韓灝辮璁℃垚澶氫釜璁懼鍏變韓涓鏉′腑鏂嚎錛屾瘮濡傛垜鐨勭郴緇熶腑涓や釜涓插彛灝卞叡浜悓涓涓?/span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">涓柇錛屼換浣曚竴涓覆鍙e彂鐢熶腑鏂互鍚庨兘浼氳Е鍙?/span><span lang="EN-US">CPU</span><span style="font-family: 瀹嬩綋;">鐨勫悓涓鏉′腑鏂嚎錛岄渶瑕佸垽鏂埆鐨勫瘎瀛樺櫒鏉ョ‘瀹氭槸鍝釜涓插彛鍙戠敓浜嗕粈涔堜腑鏂?/span> <p class="MsoNormal"><span style="font-family: 瀹嬩綋;">鎴戜滑鍙互鍦?/span><span lang="EN-US">OAL</span><span style="font-family: 瀹嬩綋;">涓垎鏋愬悇涓腑鏂簮錛岀劧鍚庤繑鍥炰笉鍚岀殑</span><span lang="EN-US">SYSINTR</span><span style="font-family: 瀹嬩綋;">鍊鹼紝浣嗚繖縐嶅仛娉曟墿灞曟т笉濂姐備緥濡傦紝</span><span lang="EN-US">OAL</span><span style="font-family: 瀹嬩綋;">涓鍊兼煇涓腑鏂簮鏈澶氫細浜х敓涓変釜</span><span lang="EN-US">SYSINTR</span><span style="font-family: 瀹嬩綋;">錛屼絾浠ュ悗鎵╁睍鎴愪簡鍥涗釜璁懼錛屾湁涓涓澶囧氨鏃犳硶姝e父宸ヤ綔浜嗐?/span></p> <p class="MsoNormal"><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">寮曞叆浜嗗彲瑁呰澆涓柇澶勭悊渚嬬▼鐨勬蹇點傚嵆鍦ㄩ渶瑕佷笌鍒殑璁懼鍏變韓涓柇鐨勯┍鍔ㄧ▼搴忎腑鍔犺澆涓涓?/span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">錛屼竴鑸嬌鐢?/span><span lang="EN-US">WINCE</span><span style="font-family: 瀹嬩綋;">鎻愪緵鐨?/span><span lang="EN-US">GIISR</span><span style="font-family: 瀹嬩綋;">鍗蟲垚婊¤凍闇姹傘傚皢鍏跺畨瑁呭埌鍐呮牳銆?/span><span lang="EN-US">OAL</span><span style="font-family: 瀹嬩綋;">涓彂鐢熶腑鏂椂璋冪敤</span><strong><span style="font-size: 8.5pt; color: black; letter-spacing: 1.2pt;" lang="EN-US">NKCallIntChain</span></strong><span style="font-family: 瀹嬩綋;">鏉ュ緱鍒?/span><span lang="EN-US">SYSINTR</span><span style="font-family: 瀹嬩綋;">錛岃繖涓嚱鏁頒細寮曡搗緋葷粺閫愪釜璋冪敤鍦ㄨ</span><span lang="EN-US">IRQ</span><span style="font-family: 瀹嬩綋;">涓婂姞杞界殑鎵鏈夊彲瑁呰澆鐨?/span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">錛屽綋鏌愪釜</span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">璁や負榪欎釜涓柇鏄敱瀹冨紩鍙戠殑鏃跺氨榪斿洖鍏?/span><span lang="EN-US">SYSINTR</span><span style="font-family: 瀹嬩綋;">錛屽惁鍒欏氨榪斿洖</span><span style="font-size: 8.5pt; font-family: verdana; color: black;" lang="EN-US">SYSINTR_CHAIN</span><span style="font-size: 8.5pt; font-family: 瀹嬩綋; color: black;">錛?/span><span style="font-family: 瀹嬩綋;">緋葷粺灝變細鎺ョ潃璋冪敤鍏跺畠鐨?/span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">錛岀敋鑷蟲墍鏈夌殑</span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">閮借璋冪敤鎴栬呮湁涓涓?/span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">榪斿洖浜嗘紜殑</span><span lang="EN-US">SYSINTR</span><span style="font-family: 瀹嬩綋;">銆?/span></p> <p class="MsoNormal"><span style="font-family: 瀹嬩綋;">椹卞姩紼嬪簭涓殑璋冪敤鍔炴硶濡備笅錛?/span><span lang="EN-US">CE</span><span style="font-family: 瀹嬩綋;">甯姪鏂囨。錛夛細</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>if (InstallIsr) {</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>// Install ISR handler</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>g_IsrHandle = LoadIntChainHandler(IsrDll, IsrHandler, (BYTE)Irq);</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>if (!g_IsrHandle) {</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>DEBUGMSG(ZONE_ERROR, (L"WAVEDEV: Couldn't install ISR handler\r\n"));</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>} else {</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>GIISR_INFO Info;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>PVOID PhysAddr;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>DWORD inIoSpace = 1;<span> </span>// io space</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span><span> </span>PHYSICAL_ADDRESS PortAddress = {ulIoBase, 0}; </span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>if (!TransBusAddrToStatic(PCIBus, 0, PortAddress, ulIoLen, &inIoSpace, &PhysAddr)) {</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>DEBUGMSG(ZONE_ERROR, (L"WAVEDEV: Failed TransBusAddrToStatic\r\n"));</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>return FALSE;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>}</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>DEBUGMSG(ZONE_PDD, (L"WAVEDEV: Installed ISR handler, Dll = '%s', Handler = '%s', Irq = %d, PhysAddr = 0x%x\r\n", IsrDll, IsrHandler, Irq, PhysAddr));</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>// Set up ISR handler</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.SysIntr = ulSysIntr;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.CheckPort = TRUE;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.PortIsIO = TRUE;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.UseMaskReg = FALSE;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.PortAddr = (DWORD)PhysAddr + ES1371_dSTATUS_OFF;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.PortSize = sizeof(DWORD);</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>Info.Mask = ES1371_INTSTAT_PENDING;</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span></span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>if (!KernelLibIoControl(g_IsrHandle, IOCTL_GIISR_INFO, &Info, sizeof(Info), NULL, 0, NULL)) {</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>DEBUGMSG(ZONE_ERROR, (L"WAVEDEV: KernelLibIoControl call failed.\r\n"));</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>}</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>}</span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span>}</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="font-family: 瀹嬩綋;">榪欓噷闇瑕佹敞鎰忎竴涓嬶紝鍥犱負</span><span lang="EN-US">ISR</span><span style="font-family: 瀹嬩綋;">鍦ㄥ唴鏍告佽繍琛岋紝</span><span lang="EN-US">Info.PortAddr</span><span style="font-family: 瀹嬩綋;">蹇呴』鏄郴緇熸渶鍘熷鐨勮櫄鎷熷湴鍧錛屽嵆娌℃湁鐢?/span><span lang="EN-US">VirtualCopy</span><span style="font-family: 瀹嬩綋;">鏄犲皠榪囩殑錛屼粠</span><span lang="EN-US">OEMAddressTable</span><span style="font-family: 瀹嬩綋;">涓綆楀嚭鏉ョ殑铏氭嫙鍦板潃銆傚湪榪欎釜渚嬪瓙涓敤</span><span lang="EN-US">TransBusAddrToStatic</span><span style="font-family: 瀹嬩綋;">鍑芥暟鍙互鐩存帴鎶婄墿鐞嗗湴鍧杞崲鎴愯繖縐嶅湴鍧銆傝?/span><strong><span style="font-size: 8.5pt; color: black; letter-spacing: 1.2pt;" lang="EN-US">MmMapIoSpace</span></strong><span style="font-family: 瀹嬩綋;">寰楀埌鏄湪褰撳墠紼嬪簭絀洪棿涓殑鍦板潃</span><span lang="EN-US">,</span><span style="font-family: 瀹嬩綋;">涓嶈兘浣跨敤銆傝屼笖</span><span lang="EN-US">GIIR</span><span style="font-family: 瀹嬩綋;">瑕佽鍔犺澆鍒板唴鏍哥┖闂達紝鎵浠ュ湪鍔犲叆鍒?/span><span lang="EN-US">OS</span><span style="font-family: 瀹嬩綋;">鍖呬腑鏃墮渶瑕佸姞涓?/span><span lang="EN-US">K</span><span style="font-family: 瀹嬩綋;">鏍囧織錛屽惁鍒?/span><span lang="EN-US">LoadIntChainHandler</span><span style="font-family: 瀹嬩綋;">鍑芥暟浼氬け璐ャ?/span></p><img src ="http://m.shnenglu.com/zjj2816/aggbug/70243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2008-12-24 15:12 <a href="http://m.shnenglu.com/zjj2816/archive/2008/12/24/70243.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title> 濡備綍浣跨敤CeLog璋冭瘯Windows mobile璁懼椹卞姩 杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2008/12/19/69830.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Fri, 19 Dec 2008 06:07:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2008/12/19/69830.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/69830.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2008/12/19/69830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/69830.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/69830.html</trackback:ping><description><![CDATA[<div style="margin-left: 21pt; text-indent: -21pt;"><span>涓.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span>浠嬬粛</div> <div>鏈枃涓昏浠嬬粛鍦ㄤ笉榪涘叆KITL妯″紡, 浣跨敤CeLog宸ュ叿鏉ヨ皟璇昗indows mobile璁懼鐨勬柟娉曪紝璇ユ柟娉曞彲浠ユ姄鍒頒嬌鐢―EBUGMSG鎵撳嚭鐨刲og淇℃伅錛屾敞鎰忥細鏈柟娉曞彧鍦≧ETAIL鐗堟湰涓婂疄楠岄氳繃銆?/div> <div style="margin-left: 21pt; text-indent: -21pt;"><span>浜?<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span>宸ュ叿</div> <div style="margin-left: 21pt; text-indent: -21pt;">Platform Builder</div> <div style="margin-left: 21pt; text-indent: -21pt;"><span><span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span>Readlog.exe</div> <div style="margin-left: 21pt; text-indent: -21pt;">CeLogStopFlush.exe</div> <div>Readlog.exe鍙互鍦ㄨ礬寰勶細_WINCEROOT\SDK\BIN\I386涓嬮潰鎵懼埌錛孋eLogStopFlush.exe</div> <div>鐨勬簮浠g爜鍙互鍦╛WINCEROOT\Public\Common\SDK\Samples\CeLog\Flush\Stopflush鎵懼埌,浣跨敤build –c鍙互鐢熸垚CeLogStopFlush.exe銆?/div> <div style="margin-left: 21pt; text-indent: -21pt;"><span>涓?<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">     </span></span>姝ラ</div> <div>1錛庡緩绔嬩竴涓猄tart Log鐨勫揩鎹鋒柟寮忥紝鍏蜂綋鏂板緩涓涓枃浠訛紝澶嶅埗涓嬮潰鐨勮鍙ワ細</div> <pre style="background: white none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-size: 10.5pt;">83#\Windows\<span style="color: red;">celogflush</span>.exe -buf 0x100000 -time 60000 -n \celog.clg -z 0x00800000 -ui 1</span></pre> <pre style="background: white none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-size: 10.5pt;">灝嗗叾閲嶅懡鍚嶄負Start Log.lnk</span></pre> <pre style="background: white none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-size: 10.5pt;">2</span><span style="font-size: 10.5pt;">錛庢鏌ユ墜鏈虹殑\Windows鐩綍鏄惁鏈変互涓嬩袱涓枃浠?/span><span style="font-size: 10.5pt;">CeLog.dll and CeLogFlush.exe</span><span style="font-size: 10.5pt;">錛屽鏋滄病鏈夌殑璇濓紝灝嗗畠浠嫹璐濆埌</span><span style="font-size: 10.5pt;">\Windows</span><span style="font-size: 10.5pt;">鐩綍錛?/span><span style="font-size: 10.5pt;">release</span><span style="font-size: 10.5pt;">鐩綍鍙互鎵懼埌錛?/span></pre> <pre style="background: white none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-size: 10.5pt;">3</span><span style="font-size: 10.5pt;">錛庢嫹璐漇tart Log.lnk鍜孋eLogStopFlush.exe鍒板紑濮嬭彍鍗曚腑錛屼慨鏀規敞鍐岃〃錛屽鍔犳垨淇敼涓嬮潰鐨勯敭鍊箋傦紙娉ㄦ剰</span>ZoneCE鏄?6榪涘埗鐨勶級</pre> <pre>[HKEY_LOCAL_MACHINE\System\CeLog]</pre> <pre><span>    "Transport"="LocalFile"</span></pre> <pre><span>    "FileName"="celog.clg"</span></pre> <pre><span>    "ZoneCE"=dword:800000</span></pre> <pre style="background: white none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-size: 10.5pt;">4</span><span style="font-size: 10.5pt;">錛庣偣鍑籗tart Log寮濮嬫姄log</span></pre> <div>5錛庣偣鍑籆eLogStopFlush.exe鍋滄鎶搇og</div> <div>6錛庡皢鏍圭洰褰曚笅鐢熸垚鐨?strong><span style="font-weight: normal;">celog.clg</span></strong><strong><span style="font-weight: normal;">鏂囦歡鎷瘋礉鍒?/span></strong><strong><span style="font-weight: normal;">PC</span></strong><strong><span style="font-weight: normal;">鏈轟笌</span></strong>Readlog鍚屼竴綰х洰褰?strong><span style="font-weight: normal;">涓?/span></strong></div> <div><strong><span style="font-weight: normal;">7</span></strong><strong><span style="font-weight: normal;">錛庢墦寮</span></strong><strong><span style="font-weight: normal;">DOS</span></strong><strong><span style="font-weight: normal;">鍛戒護琛岋紝杞埌</span></strong><strong><span style="font-weight: normal;">Readlog.exe</span></strong><strong><span style="font-weight: normal;">鐩綍涓紝杈撳叆涓嬮潰鐨勫懡浠わ細</span></strong></div> <pre><span style="font-size: 10.5pt;">Readlog.exe celog.clg celog.log</span></pre> <div>8錛庝嬌鐢ㄦ枃鏈伐鍏鋒煡鐪?strong><span style="font-weight: normal;">celog.log</span></strong><strong><span style="font-weight: normal;">涓殑</span></strong><strong><span style="font-weight: normal;">log</span></strong><strong><span style="font-weight: normal;">淇℃伅錛屼笅闈㈡槸涓涓?/span></strong><strong><span style="font-weight: normal;">log</span></strong><strong><span style="font-weight: normal;">鐨勫疄渚嬨?/span></strong></div><img src ="http://m.shnenglu.com/zjj2816/aggbug/69830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2008-12-19 14:07 <a href="http://m.shnenglu.com/zjj2816/archive/2008/12/19/69830.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Linux搴旂敤紼嬪簭瀹夎涓庣鐞?杞?/title><link>http://m.shnenglu.com/zjj2816/archive/2008/12/16/69559.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Tue, 16 Dec 2008 03:34:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2008/12/16/69559.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/69559.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2008/12/16/69559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/69559.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/69559.html</trackback:ping><description><![CDATA[<strong>Linux搴旂敤紼嬪簭瀹夎涓庣鐞?/strong>        <br>         <br> 鐩爣錛?br>         浜嗚Вlinux搴旂敤紼嬪簭鐨勭粍鎴愰儴鍒?br>         鎺屾彙浣跨敤RPM宸ュ叿綆$悊杞歡鍖呯殑鏂規硶<br>         鎺屾彙搴旂敤紼嬪簭婧愪唬鐮佸寘鐨勭紪璇戝畨瑁呮柟娉?br>         鎺屾彙鍥懼艦鐣岄潰涓嬪簲鐢ㄧ▼搴忕鐞嗗伐鍏風殑浣跨敤<br> 1銆丩inux搴旂敤紼嬪簭鍩虹<br> 2銆丷PM鍖呯鐞?br>         鍖呯鐞嗙郴緇熷垵姝ワ細<br>         RPM:RPM Package Manager        <br>         <br> <a target="_blank"><font color="#0000ff">http://www.rpm.org</font></a><br>         RPM鍖呯鐞嗙郴緇燂細<br>                 $ rpm<br>         RPPM鍖呯殑鏂囦歡鍚嶇О錛?br>            bash-3.0-19.2.i386.rpm<br>                 bash:杞歡鍚嶇О銆?br>                 3.0-19.2:杞歡鐨勭増鏈彿銆?br>                 i386:杞歡鎵榪愯鐨勬渶浣庣‖浠跺鉤鍙般?br>                 rpm:鏂囦歡鐨勬墿灞曞悕,鐢ㄦ潵鏍囪瘑褰撳墠鏂囦歡鏄痳pm鏍煎紡鐨勮蔣浠跺寘銆?br>         RPM鍖呯鐞嗗姛鑳斤細<br>             rpm鍛戒護閰嶅悎涓嶅悓鐨勫弬鏁板彲浠ュ疄鐜頒互涓嬬殑rpm鍖呯殑綆$悊鍔熻兘:<br>                 鏌ヨ宸插畨瑁呭湪linux緋葷粺涓殑RPM杞歡鍖呯殑淇℃伅銆?br>                 鏌ヨRPM杞歡鍖呭畨瑁呮枃浠剁殑淇℃伅銆?br>                 瀹夎RPM杞歡鍖呭埌褰撳墠linux緋葷粺銆?br>                 浠庡綋鍓峫inux緋葷粺涓嵏杞藉凡瀹夎鐨凴PM杞歡鍖呫?br>                 浠庡綋鍓峫inux緋葷粺涓崌綰у凡瀹夎鐨凴PM杞歡鍖呫?br> 浣跨敤rpm鍛戒護鏌ヨ杞歡鍖咃細<br>         1銆佹煡璇㈢郴緇熶腑瀹夎鐨勬墍鏈塕PM鍖?br>                 $ rpm  -qa                                      鏌ヨ褰撳墠linux緋葷粺涓凡緇忓畨瑁呯殑杞歡鍖呫?br>                 渚嬶細$ rpm -qa | grep -i x11 | head -3  瀵熺湅緋葷粺涓寘鍚玿11瀛楃涓茬殑鍓?琛岃蔣浠跺寘銆?br>         2銆佹煡璇㈣蔣浠跺寘鏄惁瀹夎<br>                 $ rpm –q rpm鍖呭悕縐?nbsp;                       瀵熺湅緋葷粺涓寚瀹氳蔣浠跺寘鏄惁瀹夈?br>                 渚? $ rpm -q bash                            瀵熺湅緋葷粺涓璪ash杞歡鍖呮槸鍚﹀畨瑁呫?br>            "rpm -q"鍛戒護涓寚瀹氱殑杞歡鍖呭悕縐伴渶瑕佸噯紜殑鎷煎啓錛岃鍛戒護涓嶄細鍦ㄨ蔣浠跺寘鐨勫悕縐頒腑榪涜灞閮ㄥ尮閰嶇殑鏌ヨ銆?br>         3銆佹煡璇㈠凡瀹夎杞歡鍖呰緇嗕俊鎭?br>                 $ rpm –qi RPM鍖呭悕縐?nbsp;                      鏌ヨlinux緋葷粺涓寚瀹氬悕縐拌蔣浠跺寘鐨勮緇嗕俊鎭?br>                 渚嬶細$ rpm -qi bash                          瀵熺湅bash杞歡鍖呯殑璇︾粏淇℃伅銆?br>            "rpm -qi"鍛戒護鐨勬墽琛岀粨鏋滀腑鍖呭惈杈冭緇嗙殑淇℃伅錛屽寘鎷細杞歡鍚嶇О錛岀増鏈俊鎭紝鍖呭ぇ灝忥紝鎻忚堪錛岀瓑銆?br>         4銆佹煡璇㈠凡瀹夎杞歡鍖呬腑鐨勬枃浠跺垪琛?br>                 $ rpm –ql RPM鍖呭悕縐?nbsp;                      鏌ヨ宸插畨瑁呰蔣浠跺寘鍦ㄥ綋鍓嶇郴緇熶腑瀹夎浜嗗摢浜涙枃浠躲?br>                 渚嬶細$ rpm -ql bash | head -3            鏌ョ湅bash杞歡鍦ㄧ郴緇熶腑宸插畨瑁呮枃浠剁殑鍓?琛屾枃浠跺垪琛ㄣ?br>                     $ rpm -ql bash | grep bin             鐢ㄨ繃婊ゆ柟寮忓療鐪媌ash涓寘鍚玝in瀛楃涓茬殑鏂囦歡鍒楄〃銆?br>         5銆佹煡璇㈢郴緇熶腑鏂囦歡鎵灞炵殑杞歡鍖?br>                 $ rpm –qf 鏂囦歡鍚嶇О    鏌ヨlinux緋葷粺涓寚瀹氭枃浠舵墍灞炵殑杞歡鍖呫?br>                 渚嬶細$ rpm -qf /bin/bash                   瀵熺湅bash鏂囦歡鎵灞炵殑杞歡鍖呫?br>                     bash-3.0-19.2      鏄劇ず緇撴灉銆?br>         6銆佹煡璇PM瀹夎鍖呮枃浠朵腑鐨勪俊鎭?<br>                 $ rpm –qpi RPM鍖呮枃浠跺悕                  瀵熺湅RPM鍖呮湭瀹夎鍓嶇殑璇︾粏淇℃伅銆?br>                 $ rpm –qpl RPM鍖呮枃浠跺悕                  瀵熺湅RPM鍖呮湭瀹夎鍓嶇殑鏂囦歡鍒楄〃銆?br>            "rpm -qpi鍜宺pm -qpl 榪欎袱鏉″懡浠ゅ彲浣滀負鍦ㄥ畨瑁呰蔣浠跺寘涔嬪墠瀵瑰叾鐨勪簡瑙c?br>         7銆乺pm鍛戒護鏌ヨ瀹炰緥<br>                 $ which mount                               鑾峰緱mount鍛戒護鐨勫彲鎵ц鏂囦歡璺緞銆?br>                 $ rpm –qf  /bin/mount                     鏌ヨ/bin/mount鎵灞炵殑杞歡鍖呫?br>                 $ rpm –qi util-linux                           鏌ヨ/bin/mount鎵灞炶蔣浠跺寘鐨勮緇嗕俊鎭?br>                 $ rpm –qf util-linux | grep mount       鏌ヨ/bin/mount鎵灞炶蔣浠跺寘涓寘鎷琺ount鐩稿叧鎵鏈夋枃浠躲?br> 浣跨敤rpm鍛戒護瀹夎杞歡鍖?br>         1銆乺pm杞歡鍖呭湴鍩烘湰瀹夎<br>                 $ rpm –i  rpm瀹夎鍖呮枃浠跺悕                瀹夎璇ヨ蔣浠跺寘涓殑鏂囦歡鍒板綋鍓嶇郴緇燂紝瀹夎榪囩▼涓嶆彁紺轟換浣曚俊鎭?br>         2銆佸湪瀹夎杞歡鍖呯殑鍚屾椂鏄劇ず璇︾粏淇℃伅<br>                 $ rpm –ivh rpm瀹夎鍖呮枃浠?nbsp;                瀹夎璇ヨ蔣浠跺寘涓殑鏂囦歡鍒板綋鍓嶇郴緇燂紝瀹夎榪囩▼浼氫互鐧懼垎姣旂殑褰㈠紡<br>                                                                     鏄劇ず瀹夎鐨勮繘搴﹀拰涓浜涘叾浠栦俊鎭?br>         3銆丷PM杞歡鍖呭畨瑁呯殑渚濊禆鍏崇郴<br>                 寮哄埗瀹夎錛? rpm  --force  –i  rpm鍖呮枃浠跺悕<br>             娉細瑕佸厛婊¤凍杞歡鍖呯殑渚濊禆鍏崇郴鍚庡啀榪涜杞歡鍖呯殑瀹夎錛屼嬌鐢ㄥ己鍒跺畨瑁呭懡浠ゅ畨瑁呬笉鑳戒繚璇佽蔣浠跺畨瑁呭埌緋葷粺鍚庝竴瀹氳兘<br>                   姝e父榪愯錛屽洜姝ゅ緩璁厧閲嶄嬌鐢ㄣ?br> 浣跨敤rpm鍛戒護鍗歌澆杞歡鍖咃細<br>         1銆丷PM杞歡鍖呯殑鍗歌澆<br>                 $ rpm  -e  杞歡鍖呭悕縐?nbsp;                      杞歡鍖呯殑鍗歌澆錛屽湪鍗歌澆鏃朵笉鏄劇ず浠諱綍淇℃伅銆?br>             娉細RPM杞歡鍖呯殑鍗歌澆鍚屾牱瀛樺湪渚濊禆鍏崇郴錛屽彧鏈夊湪娌℃湁渚濊禆鍏崇郴瀛樺湪鏃舵墠鑳藉鍏惰繘琛屽嵏杞姐?br>         2銆乺pm杞歡鍖呭嵏杞界殑渚濊禆鍏崇郴<br>                   鍦ㄤ嬌鐢≧PM鍛戒護榪涜鍗歌澆鏃訛紝RPM鍛戒護浼氬垎鏋愯鍗歌澆鐨勮蔣浠跺寘鐨勪緷璧栧叧緋伙紝褰撳瓨鍦ㄤ緷璧栧叧緋繪椂浼氳嚜鍔ㄥ仠姝紝騫舵樉鐢?nbsp;   <br>                   鍝釜杞歡閫犳垚鐨勫嵏杞藉け璐ャ傛牴鎹甊PM鎻愮ず鐨勯敊璇俊鎭紝紜畾鍏堝嵏杞界殑杞歡鍖咃紝鍐嶅嵏杞借渚濊禆鐨勮蔣浠跺寘銆?br> 浣跨敤rpm鍛戒護鍗囩駭杞歡鍖咃細<br>         $ rpm  - U  rpm瀹夎鍖呮枃浠跺悕<br>             娉細"rpm -u"鍛戒護涓嬌鐢ㄧ殑鍗囩駭杞歡鍖呮枃浠舵渶濂戒嬌鐢≧ED HAT鍏徃閽堝褰撳墠鐨刲inux鐗堟湰瀹樻柟鎺ㄥ嚭鐨勫崌綰ф枃浠訛紝寤鴻涓嶈  <br>                   浣跨敤絎笁鏂規彁渚涚殑鍗囩駭鍖呫?br>    <br> 搴旂敤紼嬪簭緙栬瘧<br>         寮鏀炬簮浠g爜搴旂敤紼嬪簭鐨勭紪璇戝畨瑁?br>         錛堜笅闈互澶氱嚎紼嬩笅杞借蔣浠?prozilla"鐨勬簮浠g爜緙栬瘧瀹夎涓轟緥鏉ヨ鏄庢簮浠g爜緙栬瘧瀹夎鐨勬暣涓繃紼嬶級<br>         緙栬瘧搴旂敤紼嬪簭鍓嶇殑鍑嗗宸ヤ綔錛?br>         1銆佺‘璁ょ郴緇熶腑宸茬粡瀹夎浜嗙紪璇戠幆澧?br>                 $ rpm  -qa  | grep gcc                       紜畾褰撳墠緋葷粺涓畨瑁呬簡gcc緙栬瘧鍣ㄧ幆澧冦?br>         2銆佷笅杞絧rozilla紼嬪簭鐨勬簮浠g爜瀹夎鍖呮枃浠?br>                  鐣?br>         3銆侀噴鏀懼凡涓嬭澆鐨勬簮浠g爜杞歡鍖呮枃浠?br>                 $ tar jxf prozilla-2.0.4.tar.bz2              閲婃斁浠ヤ笅杞界殑婧愪唬鐮佽蔣浠跺寘鏂囦歡鍒板綋鍓嶇洰褰曘傝В鍘嬪悗鐨勬枃浠?br>                                                                      鍚嶏細prozilla-2.0.4<br>            鎵╁睍錛歵ar鐨剎zvf鍙傛暟鐢ㄤ簬閲婃斁浠ar.gz鏍煎紡鐨勫帇緙╁寘銆?br>         4銆佽繘鍏ユ簮浠g爜鐩綍<br>                 $ cd prozilla-2.0.4                             榪涘叆鐩綍銆?br>                 $ pwd                                            鏄劇ず褰撳墠鐩綍璺緞銆?br>                 /home/teacher/download/prozilla-2.0.4      鏄劇ず緇撴灉銆?br>            緙栬瘧杞歡瀹夎鐨勮礬寰勶細<br>                 $ ./configure --prefix=/home/teacher/proz  <br>                 鍦╬rozilla紼嬪簭鐨勯厤緗腑錛屼嬌鐢?--prdfix"閫夐」鍙互鎸囧畾搴旂敤紼嬪簭緙栬瘧鍚庣殑瀹夎璺緞錛屽鏋滀笉浣跨敤"--prefix"<br>                 閫夐」鎸囧畾瀹夎璺緞錛宑onfigure紼嬪簭灝嗛厤緗畃rozilla鐨勯粯璁ゅ畨瑁呰礬寰勪負"/usr/local/bin"鐩綍銆?br>          5銆佺▼搴忕紪璇戣繃紼?br>                 $ make                                           浣跨敤make鍛戒護榪涜紼嬪簭鐨勪簩榪涘埗緙栬瘧銆?br>         6銆佺▼搴忓畨瑁呰繃紼?br>                 $ make install<br>                 "make install"鍛戒護灝嗘寜鐓onfiguer鍛戒護鐨?--prefix"閫夐」涓瀹氱殑瀹夎璺緞灝嗗凡緙栬瘧瀹屾垚鐨勫簲鐢ㄧ▼搴忓畨瑁?br>                  鍒扮洰鏍囩洰褰曘?br>         7銆侀獙璇佺紪璇戝畨瑁呯殑紼嬪簭<br>                 $ ls /home/teacher/proz                    瀵熺湅proz鏂囦歡澶逛腑鐨勬枃浠躲?br>                 bin  include lib man share<br>         <br>         <br>         緙栬瘧鍓嶇殑閰嶇疆<br>                 $ ./configure  - - help                    <br>         緙栬瘧涓庡畨瑁咃細<br>         1銆佺▼搴忕紪璇戣繃紼?br>                 $ make <br>         2銆佺▼搴忓畨瑁呰繃紼?br>                 $ make install<br>         3銆侀獙璇佺紪璇戝畨瑁呯殑紼嬪簭<br> 浣跨敤鍥懼艦鐣岄潰緋葷粺宸ュ叿瀹屾垚RPM淇濈殑瀹夎<br>          鐣?img src ="http://m.shnenglu.com/zjj2816/aggbug/69559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2008-12-16 11:34 <a href="http://m.shnenglu.com/zjj2816/archive/2008/12/16/69559.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Windows CE usb椹卞姩紼嬪簭http://m.shnenglu.com/zjj2816/archive/2008/12/03/68441.html浜曟硥浜曟硥Wed, 03 Dec 2008 02:35:00 GMThttp://m.shnenglu.com/zjj2816/archive/2008/12/03/68441.htmlhttp://m.shnenglu.com/zjj2816/comments/68441.htmlhttp://m.shnenglu.com/zjj2816/archive/2008/12/03/68441.html#Feedback0http://m.shnenglu.com/zjj2816/comments/commentRss/68441.htmlhttp://m.shnenglu.com/zjj2816/services/trackbacks/68441.html涓婅堪璁蹭簡鍫嗙悊璁猴紝鍙兘璇昏呰剳琚嬮兘宸茬粡澶т簡錛屼負姝わ紝鎴戜滑涓句釜綆鍗曠殑渚嬪瓙鏉ヨ緇嗚鏄庝竴涓嬮┍鍔ㄧ▼搴忕殑寮鍙戣繃紼嬨?

渚嬪鎴戜滑鏈変釜USB Mouse璁懼錛岃澶囦俊鎭弿榪板涓嬶細
Device Descriptor:
bcdUSB: 0x0100
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x05E3 (Genesys Logic Inc.)
idProduct: 0x0001
bcdDevice: 0x0101
iManufacturer: 0x00
iProduct: 0x01
iSerialNumber: 0x00
bNumConfigurations: 0x01

ConnectionStatus: DeviceConnected
Current Config value: 0x01
Device Bus Speed: Low
Device Address: 0x02
Open Pipes: 1

Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0003 (3)
bInterval: 0x0A

鍙互鐪嬪嚭涓婅堪璁懼鏈変竴涓腑鏂璓IPE錛屽寘鐨勬渶澶у間負3銆傚彲鑳芥湁浜洪棶涓婅堪鐨勫兼庝箞寰楀埌鐨勶紝win2k 鐨凞DK涓湁涓猽sbview鐨勪緥紼嬶紝緙栬瘧涓涓嬶紝灝嗕綘鐨刄SB璁懼鎻掑埌PC鏈虹殑USB鍙d腑錛岃繍琛寀sbview.exe鍗沖彲鐪嬪緱鐩稿簲鐨勮澶囦俊鎭?

鏈変簡榪欎簺鍩烘湰淇℃伅錛屽氨鍙互緙栧啓USB璁懼浜嗭紝棣栧厛澹版槑涓涓嬶紝涓嬮潰鐨勪唬鐮佸彇鑷井杞殑USB榧犳爣鏍鋒湰紼嬪簭錛岀増鏉冨綊寰蔣鎵鏈夛紝姝ゅ浠呬粎鍊熺敤鏉ユ弿榪頒竴涓婾SB榧犳爣椹卞姩鐨勫紑鍙戣繃紼嬶紝璇昏呭闇瑕佸紩鐢ㄦ浠g爜錛岄渶瑕佸緱鍒板井杞殑鍚屾剰銆?

棣栧厛錛屽繀欏昏緭鍑篣SBD瑕佹眰璋冪敤鐨勪笁涓嚱鏁幫紝棣栧厛鍒拌澶囨彃鍏ュ埌USB绔彛鏃訛紝USBD浼氳皟鐢║SBDeviceAttach()鍑芥暟錛岀浉搴旂殑浠g爜濡備笅錛?
extern "C" BOOL
USBDeviceAttach(
USB_HANDLE hDevice, // USB璁懼鍙ユ焺
LPCUSB_FUNCS lpUsbFuncs, // USBDI鐨勫嚱鏁伴泦鍚?
LPCUSB_INTERFACE lpInterface, // 璁懼鎺ュ彛鎻忚堪淇℃伅
LPCWSTR szUniqueDriverId, // 璁懼ID鎻忚堪瀛楃涓層?
LPBOOL fAcceptControl, // 榪斿洖TRUE錛屾爣璇嗘垜浠彲浠ユ帶鍒舵璁懼錛?鍙嶄箣琛ㄧず涓嶈兘鎺у埗
DWORD dwUnused)
{
*fAcceptControl = FALSE;
// 鎴戜滑鐨勯紶鏍囪澶囨湁鐗瑰畾鐨勬弿榪頒俊鎭紝瑕佹嫻嬫槸鍚︽槸鎴戜滑鐨勮澶囥?
if (lpInterface == NULL)
return FALSE;
// 鎵撳嵃鐩稿叧鐨刄SB璁懼鎺ュ彛鎻忚堪淇℃伅銆?
DEBUGMSG(ZONE_INIT,(TEXT("USBMouse: DeviceAttach, IF %u, #EP:%u, Class:%u, Sub:%u,Prot:%u\r\n"), lpInterface->Descriptor.bInterfaceNumber,lpInterface->Descriptor.bNumEndpoints, lpInterface->Descriptor.bInterfaceClass,lpInterface->Descriptor.bInterfaceSubClass,lpInterface->Descriptor.bInterfaceProtocol));
// 鍒濊瘯鏁版嵁USB榧犳爣綾伙紝浜х敓涓涓帴鍙桿SB榧犳爣鏁版嵁鐨勭嚎紼?
CMouse * pMouse = new CMouse(hDevice, lpUsbFuncs, lpInterface);
if (pMouse == NULL)
return FALSE;

if (!pMouse->Initialize())
{
delete pMouse;
return FALSE;
}

// 娉ㄥ唽涓涓洃鎺SB璁懼浜嬩歡鐨勫洖璋冨嚱鏁幫紝鐢ㄤ簬鐩戞帶USB璁懼鏄惁宸茬粡鎷旀帀銆?
(*lpUsbFuncs->lpRegisterNotificationRoutine)(hDevice,
USBDeviceNotifications, pMouse);

*fAcceptControl = TRUE;
return TRUE;
}

絎簩涓嚱鏁版槸 USBInstallDriver錛堬級鍑芥暟錛?
涓浜涘熀鏈畾涔夊涓嬶細
const WCHAR gcszRegisterClientDriverId[] = L"RegisterClientDriverID";
const WCHAR gcszRegisterClientSettings[] = L"RegisterClientSettings";
const WCHAR gcszUnRegisterClientDriverId[] = L"UnRegisterClientDriverID";
const WCHAR gcszUnRegisterClientSettings[] = L"UnRegisterClientSettings";
const WCHAR gcszMouseDriverId[] = L"Generic_Sample_Mouse_Driver";

鍑芥暟鎺ュ彛濡備笅錛?
extern "C" BOOL
USBInstallDriver(
LPCWSTR szDriverLibFile) // @parm [IN] - Contains client driver DLL name
{
BOOL fRet = FALSE;
HINSTANCE hInst = LoadLibrary(L"USBD.DLL");

// 娉ㄥ唽USB璁懼淇℃伅
if(hInst)
{
LPREGISTER_CLIENT_DRIVER_ID pRegisterId = (LPREGISTER_CLIENT_DRIVER_ID)
GetProcAddress(hInst, gcszRegisterClientDriverId);

LPREGISTER_CLIENT_SETTINGS pRegisterSettings =
(LPREGISTER_CLIENT_SETTINGS) GetProcAddress(hInst,
gcszRegisterClientSettings);

if(pRegisterId && pRegisterSettings)
{
USB_DRIVER_SETTINGS DriverSettings;

DriverSettings.dwCount = sizeof(DriverSettings);

// 璁劇疆鎴戜滑鐨勭壒瀹氱殑淇℃伅銆?
DriverSettings.dwVendorId = USB_NO_INFO;
DriverSettings.dwProductId = USB_NO_INFO;
DriverSettings.dwReleaseNumber = USB_NO_INFO;

DriverSettings.dwDeviceClass = USB_NO_INFO;
DriverSettings.dwDeviceSubClass = USB_NO_INFO;
DriverSettings.dwDeviceProtocol = USB_NO_INFO;

DriverSettings.dwInterfaceClass = 0x03; // HID
DriverSettings.dwInterfaceSubClass = 0x01; // boot device
DriverSettings.dwInterfaceProtocol = 0x02; // mouse

fRet = (*pRegisterId)(gcszMouseDriverId);

if(fRet)
{
fRet = (*pRegisterSettings)(szDriverLibFile,
gcszMouseDriverId, NULL, &DriverSettings);

if(!fRet)
{
//BUGBUG unregister the Client Driver’s ID
}
}
}
else
{
RETAILMSG(1,(TEXT("!USBMouse: Error getting USBD function pointers\r\n")));
}
FreeLibrary(hInst);
}
return fRet;
}
涓婅堪浠g爜涓昏鐢ㄤ簬浜х敓USB璁懼椹卞姩紼嬪簭闇瑕佺殑娉ㄥ唽琛ㄤ俊鎭紝闇瑕佹敞鎰忕殑鏄細USB璁懼椹卞姩紼嬪簭涓嶄嬌鐢ㄦ爣鍑嗙殑娉ㄥ唽琛ㄥ嚱鏁幫紝鑰屾槸浣跨敤RegisterClientDriverID錛堬級鍜孯egisterClientSettings鏉ユ敞鍐岀浉搴旂殑璁懼淇℃伅銆?

鍙﹀涓涓嚱鏁版槸USBUninstallDriver()鍑芥暟錛屽叿浣撲唬鐮佸涓嬶細
extern "C" BOOL
USBUnInstallDriver()
{
BOOL fRet = FALSE;
HINSTANCE hInst = LoadLibrary(L"USBD.DLL");

if(hInst)
{
LPUN_REGISTER_CLIENT_DRIVER_ID pUnRegisterId =
(LPUN_REGISTER_CLIENT_DRIVER_ID)
GetProcAddress(hInst, gcszUnRegisterClientDriverId);

LPUN_REGISTER_CLIENT_SETTINGS pUnRegisterSettings =
(LPUN_REGISTER_CLIENT_SETTINGS) GetProcAddress(hInst,
gcszUnRegisterClientSettings);

if(pUnRegisterSettings)
{
USB_DRIVER_SETTINGS DriverSettings;

DriverSettings.dwCount = sizeof(DriverSettings);
// 蹇呴』濉叆涓庢敞鍐屾椂鐩稿悓鐨勪俊鎭?
DriverSettings.dwVendorId = USB_NO_INFO;
DriverSettings.dwProductId = USB_NO_INFO;
DriverSettings.dwReleaseNumber = USB_NO_INFO;

DriverSettings.dwDeviceClass = USB_NO_INFO;
DriverSettings.dwDeviceSubClass = USB_NO_INFO;
DriverSettings.dwDeviceProtocol = USB_NO_INFO;

DriverSettings.dwInterfaceClass = 0x03; // HID
DriverSettings.dwInterfaceSubClass = 0x01; // boot device
DriverSettings.dwInterfaceProtocol = 0x02; // mouse

fRet = (*pUnRegisterSettings)(gcszMouseDriverId, NULL,
&DriverSettings);
}

if(pUnRegisterId)
{
BOOL fRetTemp = (*pUnRegisterId)(gcszMouseDriverId);
fRet = fRet ? fRetTemp : fRet;
}
FreeLibrary(hInst);
}
return fRet;
}
姝ゅ嚱鏁頒富瑕佺敤浜庡垹闄SBInstallDriver()鏃跺垱寤虹殑娉ㄥ唽琛ㄤ俊鎭紝鍚屾牱鐨勫畠浣跨敤鑷繁鐨勫嚱鏁版帴鍙nRegisterClientDriverID錛堬級鍜孶nRegisterClientSettings錛堬級鏉ュ仛鐩稿簲鐨勫鐞嗐?

鍙﹀涓涓渶瑕佸鐞嗙殑娉ㄥ唽鐨勭洃鎺ч氱煡鍑芥暟USBDeviceNotifications錛堬級錛?
extern "C" BOOL USBDeviceNotifications(LPVOID lpvNotifyParameter, DWORD dwCode,
LPDWORD * dwInfo1, LPDWORD * dwInfo2, LPDWORD * dwInfo3,
LPDWORD * dwInfo4)
{
CMouse * pMouse = (CMouse *)lpvNotifyParameter;

switch(dwCode)
{
case USB_CLOSE_DEVICE:
//鍒犻櫎鐩稿叧鐨勮祫婧愩?
delete pMouse;
return TRUE;
}
return FALSE;
}


USB榧犳爣鐨勭被鐨勫畾涔夊涓嬶細
class CMouse
{
public:
CMouse::CMouse(USB_HANDLE hDevice, LPCUSB_FUNCS lpUsbFuncs,
LPCUSB_INTERFACE lpInterface);
~CMouse();

BOOL Initialize();
private:
// 浼犺緭瀹屾瘯璋冪敤鐨勫洖璋冨嚱鏁?
static DWORD CALLBACK MouseTransferCompleteStub(LPVOID lpvNotifyParameter);
// 涓柇澶勭悊鍑芥暟
static ULONG CALLBACK CMouse::MouseThreadStub(PVOID context);
DWORD MouseTransferComplete();
DWORD MouseThread();

BOOL SubmitInterrupt();
BOOL HandleInterrupt();

BOOL m_fClosing;
BOOL m_fReadyForMouseEvents;

HANDLE m_hEvent;
HANDLE m_hThread;

USB_HANDLE m_hDevice;
USB_PIPE m_hInterruptPipe;
USB_TRANSFER m_hInterruptTransfer;

LPCUSB_FUNCS m_lpUsbFuncs;
LPCUSB_INTERFACE m_pInterface;

BOOL m_fPrevButton1;
BOOL m_fPrevButton2;
BOOL m_fPrevButton3;

// 鏁版嵁鎺ュ彈緙撳啿鍖恒?
BYTE m_pbDataBuffer[8];
};

鍏蜂綋瀹炵幇濡備笅錛?

// 鏋勯犲嚱鏁幫紝鍒濆鍖栨椂璋冪敤
CMouse::CMouse(USB_HANDLE hDevice, LPCUSB_FUNCS lpUsbFuncs,
LPCUSB_INTERFACE lpInterface)
{
m_fClosing = FALSE;
m_fReadyForMouseEvents = FALSE;
m_hEvent = NULL;
m_hThread = NULL;

m_hDevice = hDevice;
m_hInterruptPipe = NULL;
m_hInterruptTransfer = NULL;

m_lpUsbFuncs = lpUsbFuncs;
m_pInterface = lpInterface;

m_fPrevButton1 = FALSE;
m_fPrevButton2 = FALSE;
m_fPrevButton3 = FALSE;

memset(m_pbDataBuffer, 0, sizeof(m_pbDataBuffer));
}

// 鏋愭瀯鍑芥暟錛岀敤浜庢竻闄ょ敵璇風殑璧勬簮銆?
CMouse::~CMouse()
{
// 閫氱煡緋葷粺鍘誨叧闂浉鍏崇殑鍑芥暟鎺ュ彛銆?
m_fClosing = TRUE;

// Wake up the connection thread again and give it time to die.
if (m_hEvent != NULL)
{
// 閫氱煡鍏抽棴鏁版嵁鎺ュ彈綰跨▼銆?
SetEvent(m_hEvent);

if (m_hThread != NULL)
{
DWORD dwWaitReturn;

dwWaitReturn = WaitForSingleObject(m_hThread, 1000);
if (dwWaitReturn != WAIT_OBJECT_0)
{
TerminateThread(m_hThread, DWORD(-1));
}
CloseHandle(m_hThread);
m_hThread = NULL;
}
CloseHandle(m_hEvent);
m_hEvent = NULL;
}

if(m_hInterruptTransfer)
(*m_lpUsbFuncs->lpCloseTransfer)(m_hInterruptTransfer);

if(m_hInterruptPipe)
(*m_lpUsbFuncs->lpClosePipe)(m_hInterruptPipe);
}


// 鍒濆鍖朥SB榧犳爣椹卞姩紼嬪簭
BOOL CMouse::Initialize()
{
LPCUSB_DEVICE lpDeviceInfo = (*m_lpUsbFuncs->lpGetDeviceInfo)(m_hDevice);

// 媯嫻嬮厤緗細USB榧犳爣搴旇鍙湁涓涓腑鏂閬?
if ((m_pInterface->lpEndpoints[0].Descriptor.bmAttributes & USB_ENDPOINT_TYPE_MASK) != USB_ENDPOINT_TYPE_INTERRUPT)
{
RETAILMSG(1,(TEXT("!USBMouse: EP 0 wrong type (%u)!\r\n"),
m_pInterface->lpEndpoints[0].Descriptor.bmAttributes));
return FALSE;
}
DEBUGMSG(ZONE_INIT,(TEXT("USBMouse: EP 0:MaxPacket: %u, Interval: %u\r\n"),
m_pInterface->lpEndpoints[0].Descriptor.wMaxPacketSize,
m_pInterface->lpEndpoints[0].Descriptor.bInterval));

m_hInterruptPipe = (*m_lpUsbFuncs->lpOpenPipe)(m_hDevice,
&m_pInterface->lpEndpoints[0].Descriptor);

if (m_hInterruptPipe == NULL) {
RETAILMSG(1,(TEXT("Mouse: Error opening interrupt pipe\r\n")));
return (FALSE);
}
m_hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
if (m_hEvent == NULL)
{
RETAILMSG(1,(TEXT("USBMouse: Error on CreateEvent for connect event\r\n")));
return(FALSE);
}
// 鍒涘緩鏁版嵁鎺ュ彈綰跨▼
m_hThread = CreateThread(0, 0, MouseThreadStub, this, 0, NULL);
if (m_hThread == NULL)
{
RETAILMSG(1,(TEXT("USBMouse: Error on CreateThread\r\n")));
return(FALSE);
}

return(TRUE);
}

// 浠嶶SB榧犳爣璁懼涓鍑烘暟鎹紝浜х敓鐩稿簲鐨勯紶鏍囦簨浠躲?
BOOL CMouse::SubmitInterrupt()
{
if(m_hInterruptTransfer)
(*m_lpUsbFuncs->lpCloseTransfer)(m_hInterruptTransfer);

// 浠嶶SB榧犳爣PIPE涓鏁版嵁
m_hInterruptTransfer = (*m_lpUsbFuncs->lpIssueInterruptTransfer)
(m_hInterruptPipe, MouseTransferCompleteStub, this,
USB_IN_TRANSFER | USB_SHORT_TRANSFER_OK, // 琛ㄧず璇繪暟鎹?
min(m_pInterface->lpEndpoints[0].Descriptor.wMaxPacketSize,
sizeof(m_pbDataBuffer)),
m_pbDataBuffer,
NULL);

if (m_hInterruptTransfer == NULL)
{
DEBUGMSG(ZONE_ERROR錛岋紙L "!USBMouse: Error in IssueInterruptTransfer\r\n"));
return FALSE;
}
else
{
DEBUGMSG(ZONE_TRANSFER,(L"USBMouse::SubmitInterrupt,Transfer:0x%X\r\n",
m_hInterruptTransfer));
}
return TRUE;
}

// 澶勭悊榧犳爣涓柇浼犺緭鐨勬暟鎹?
BOOL CMouse::HandleInterrupt()
{
DWORD dwError;
DWORD dwBytes;

DWORD dwFlags = 0;
INT dx = (signed char)m_pbDataBuffer[1];
INT dy = (signed char)m_pbDataBuffer[2];

BOOL fButton1 = m_pbDataBuffer[0] & 0x01 ? TRUE : FALSE;
BOOL fButton2 = m_pbDataBuffer[0] & 0x02 ? TRUE : FALSE;
BOOL fButton3 = m_pbDataBuffer[0] & 0x04 ? TRUE : FALSE;

if (!(*m_lpUsbFuncs->lpGetTransferStatus)(m_hInterruptTransfer, &dwBytes,&dwError))
{
DEBUGMSG(ZONE_ERROR,(TEXT("!USBMouse: Error in GetTransferStatus(0x%X)\r\n"),
m_hInterruptTransfer));
return FALSE;
}
else
{
DEBUGMSG(ZONE_TRANSFER,(TEXT("USBMouse::HandleInterrupt, hTransfer 0x%X complete (%u bytes, Error:%X)\r\n"),
m_hInterruptTransfer,dwBytes,dwError));
}

if (!SubmitInterrupt())
return FALSE;

if(dwError != USB_NO_ERROR)
{
DEBUGMSG(ZONE_ERROR,(TEXT("!USBMouse: Error 0x%X in interrupt transfer\r\n"),dwError));
return TRUE;
}

if(dwBytes < 3)
{
DEBUGMSG(ZONE_ERROR,(TEXT("!USBMouse: Invalid byte cnt %u from interrupt transfer\r\n"),dwBytes));
return TRUE;
}

if(dx || dy)
dwFlags |= MOUSEEVENTF_MOVE;

if(fButton1 != m_fPrevButton1)
{
if(fButton1)
dwFlags |= MOUSEEVENTF_LEFTDOWN;
else
dwFlags |= MOUSEEVENTF_LEFTUP;
}

if(fButton2 != m_fPrevButton2)
{
if(fButton2)
dwFlags |= MOUSEEVENTF_RIGHTDOWN;
else
dwFlags |= MOUSEEVENTF_RIGHTUP;
}

if(fButton3 != m_fPrevButton3)
{
if(fButton3)
dwFlags |= MOUSEEVENTF_MIDDLEDOWN;
else
dwFlags |= MOUSEEVENTF_MIDDLEUP;
}

m_fPrevButton1 = fButton1;
m_fPrevButton2 = fButton2;
m_fPrevButton3 = fButton3;

DEBUGMSG(ZONE_EVENTS,
(TEXT("USBMouse event: dx:%d, dy:%d, dwFlags:0x%X (B1:%u, B2:%u, B3:%u)\r\n"),
dx,dy,dwFlags,fButton1,fButton2,fButton3));

// 閫氱煡緋葷粺浜х敓榧犳爣浜嬩歡
if (m_fReadyForMouseEvents)
mouse_event(dwFlags, dx, dy, 0, 0);
else
m_fReadyForMouseEvents = IsAPIReady(SH_WMGR);

return TRUE;
}


DWORD CALLBACK CMouse::MouseTransferCompleteStub(LPVOID lpvNotifyParameter)
{
CMouse * pMouse = (CMouse *)lpvNotifyParameter;
return(pMouse->MouseTransferComplete());
}

// 鏁版嵁浼犺緭瀹屾瘯鍥炶皟鍑芥暟
DWORD CMouse::MouseTransferComplete()
{
if (m_hEvent)
SetEvent(m_hEvent);
return 0;
}


ULONG CALLBACK CMouse::MouseThreadStub(PVOID context)
{
CMouse * pMouse = (CMouse *)context;
return(pMouse->MouseThread());
}

// USB榧犳爣綰跨▼
DWORD CMouse::MouseThread()
{
DEBUGMSG(ZONE_INIT,(TEXT("USBMouse: Worker thread started\r\n")));
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);

if (SubmitInterrupt())
{
while (!m_fClosing)
{
WaitForSingleObject(m_hEvent, INFINITE);

if (m_fClosing)
break;

if ((*m_lpUsbFuncs->lpIsTransferComplete)(m_hInterruptTransfer))
{
if (!HandleInterrupt())
break;
}
else
{
RETAILMSG(1,(TEXT("!USBMouse: Event signalled, but transfer not complete\r\n")));
// The only time this should happen is if we get an error on the transfer
ASSERT(m_fClosing || (m_hInterruptTransfer == NULL));
break;
}
}
}
RETAILMSG(1,(TEXT("USBMouse: Worker thread exiting\r\n")));
return(0);
}

鐪? 鍒頒簡娌℃湁錛屽叾瀹濽SB鐨勯┍鍔ㄧ▼搴忕紪鍐欏氨榪欎箞綆鍗曪紝綾諱技鐨勫叾浠栬澶囷紝渚嬪鎵撳嵃鏈鴻澶囷紝灝辨湁Bulk OUT PIPE錛岄渶瑕丅ulk浼犺緭錛岄偅灝遍渶瑕佷簡瑙d竴涓婭ssueBulkTransfer錛堬級鐨勫簲鐢ㄣ傚綋鐒跺鏋滄槸寮鍙慤SB Mass Storage Disk鐨勯┍鍔紝閭e氨闇瑕佷簡瑙f洿澶氱殑鍗忚錛屼緥濡侭ulk-Only Transport鍗忚絳夈?

寰蔣鐨刉indows CE.NET鐨凱latform Build涓凡緇忓甫鏈塙SB Printer鍜孶SB Mass Storage Disk鐨勯┍鍔ㄧ殑婧愪唬鐮佷簡錛屽ソ濂界爺絀朵竴涓嬶紝浣犱竴瀹氬洖鍙楃泭闈炴祬鐨勩?



鍙傝冭祫鏂欙細
1錛?寰蔣鍑虹増紺?<<Windows Ce Device Driver Kit>>
2錛?<<Universal Serial Bus Specification 1.1>> 鏉ヨ嚜http:://www.usb.org

浜曟硥 2008-12-03 10:35 鍙戣〃璇勮
]]>
Windows CE 6.0涓柇澶勭悊榪囩▼ by ninglinghttp://m.shnenglu.com/zjj2816/archive/2008/12/02/68406.html浜曟硥浜曟硥Tue, 02 Dec 2008 09:00:00 GMThttp://m.shnenglu.com/zjj2816/archive/2008/12/02/68406.htmlhttp://m.shnenglu.com/zjj2816/comments/68406.htmlhttp://m.shnenglu.com/zjj2816/archive/2008/12/02/68406.html#Feedback0http://m.shnenglu.com/zjj2816/comments/commentRss/68406.htmlhttp://m.shnenglu.com/zjj2816/services/trackbacks/68406.html

榪欓噷鎴戜滑涓昏璁ㄨ鐨勬槸CE鐨勪腑鏂緩绔嬪拰涓柇鐩稿簲鐨勫ぇ姒傛祦紼嬩互鍙婃墍娑夊強鐨勪唬鐮佷綅緗傝繖閲屾墍璁茶堪鐨勶紝鏄拡瀵笰RM騫沖彴鐨勩傚湪CE鐨勪腑鏂鐞嗛噷闈紝鏈変竴閮ㄥ垎宸ヤ綔鏄疌E Kernel瀹屾垚鐨勶紝鏈変竴閮ㄥ垎宸ヤ綔鏄鐢監EM瀹屾垚鐨勩?/p>

Kernel浠g爜宸ヤ綔

ExVector.s錛氫腑鏂悜閲忓畾涔夛紝閲岄潰瀹氫箟鐨勬槸armtrap.s鐨勫嚱鏁板湴鍧

Armtrap.s錛氫腑鏂鐞嗗畾涔夛紝鏈閲嶈鏄噷闈㈢殑IRQHandler鍑芥暟錛岃屽叾涓渶閲嶈鐨勬槸CALL OEMInterruptHandler

Mdarm.c錛氫腑鏂悜閲忓姞杞?/span>

Kdriver.c錛?/span>NKCallIntChain鍑芥暟錛氭妸IRQ杞崲涓?/span>SysIntr錛屽煎緱鐣欐剰鐨勬槸pIntChainTable[]錛屾槸IRQ鎵瀵瑰簲鐨?/span>ISR澶勭悊紼嬪簭鐨勫叆鍙o紝鍏朵腑鏈涓昏鐨勬槸鍏舵垚鍛樺嚱鏁?/span>pfnHandler銆?/span>pfnHandler鐨勫~鍏咃紝鏄湪HookIntChain閲岄潰錛岃繖涓嚱鏁版槸ISR鍦ㄥ垵濮嬪寲鐨勬椂鍊欒皟鐢ㄧ殑銆傚湪榪欎釜鍑芥暟閲岄潰錛屽鏋?/span>pIntChainTable涓虹┖錛屽垯榪斿洖SYSINTR_CHAIN錛屽鏋?/span>pIntChainTable[]涓嶄負絀猴紝鍒欒皟鐢?/span>pfnHandler寰楀埌涓涓?/span>sysintr鍊鹼紝鐒跺悗榪斿洖涔嬨?/span>

 

OEM瀹氫箟宸ヤ綔錛?/span>Oalintr.c錛?/span>OEMInterruptHandler鍑芥暟錛岄氳繃鏌ヨ紜歡鐨勪腑鏂瘎瀛樺櫒錛屽緱鍒扮‖浠?/span>IRQ鍙楓傚浜?/span>EINT04-23鐨勪腑鏂紝閫氳繃EINTMASK瀵勫瓨鍣紝寰楀埌鐩稿搴旂殑緋葷粺IRQ銆傛敞鎰忥紝榪欓噷鐨?/span>IRQ鏄?/span>CE瀹氫箟鐨?/span>IRQ錛屾槸緋葷粺紜歡IRQ鐨勬墿灞曘傜劧鍚庤皟鐢?/span>NKCallIntChain鐪嬬湅榪欎釜IRQ鏄惁鏄竴涓?/span>Chain鐨?/span>Interrupt銆傚鏋滃嚱鏁拌繑鍥?/span>SYSINTR_CHAIN鎴栬呰繑鍥炰竴涓笉鍚堟硶鐨?/span>sysintr錛屽垯閫氳繃OALIntrTranslateIrq鎶?/span>IRQ杞寲涓?/span>sysintr銆傚鏋滄槸涓涓悎娉曠殑sysintr錛屽垯榪斿洖璇ュ箋?/span>

 

鍗曚竴ISR鐨?/span>Device錛屼富瑕侀氳繃OEMInterruptHandler澶勭悊錛屽湪OEMInterruptHandler娌℃湁瀹氫箟鐨?/span>IRQ錛屽彲浠ュ湪OAL閲岄潰鎴栬呴┍鍔ㄧ殑鍔犺澆閲岄潰錛岄氳繃HookInterrupt鍑芥暟榪涜鍏寵仈銆?/span>

澶氫釜ISR鐨?/span>Device錛岄氬父榪欐槸鎬葷嚎璁懼鐨勯渶姹傦紝鍥犱負鎬葷嚎璁懼涓婇潰閫氬父涓叉湁鍑犱釜璁懼銆傝繖浜涙葷嚎涓婄殑璁懼錛岄渶瑕佹湁涓涓?/span>ISR鍒ゆ柇絀剁珶鏄摢涓澶囧彂鍑虹殑涓柇銆傝繖涓?/span>ISR錛屾槸涓涓?/span>DLL鐨勭▼搴忥紝璁懼椹卞姩蹇呴』鍦ㄥ垵濮嬪寲鐨勬椂鍊欓氳繃LoadIntChainHandler錛堟枃浠跺悕錛屽嚱鏁板悕錛?/span>irq錛夊姞杞借繖涓?/span>DLL紼嬪簭銆?/span>LoadIntChainHandler鐨勫畾涔夊湪kdriver.c鐨?/span>NKLoadIntChainHandler閲岄潰銆傚浜庡ぇ澶氭暟鐨勬葷嚎璁懼錛屽彲浠ュ埄鐢ㄥ井杞凡緇忓啓濂界殑giisr.dll鏉ュ疄鐜般?/span>giisr鐨勫疄鐜頒唬鐮佸湪Public\common\oak\drivers涓嬮潰銆?/span>

 

瀵逛簬鎬葷嚎璁懼錛屽鏋滃埄鐢?/span>GIISR鐨勮瘽錛屽師鐞嗗涓嬶細

鎬葷嚎璁懼椹卞姩鍦ㄥ垵濮嬪寲鐨勬椂鍊欙紝閫氳繃LoadIntChainHandler鍔犺澆GIISR錛岃屽姞杞界殑鏃跺欙紝LoadIntChainHandler浼氳皟鐢?/span>GIISR鐨?/span>CreateInstance鍒涘緩涓涓疄渚嬶紝GIISR浼氳繑鍥炰竴涓?/span>index鍊肩粰LoadIntChainHandler錛屼互鏍囩ず瀹炰緥錛?/span>LoadIntChainHandler鍒欎細榪斿洖涓涓?/span>Handle緇欓┍鍔紝椹卞姩鍒欐牴鎹繖涓?/span>Handle瀛樺彇GIISR銆傚緱鍒拌繖涓?/span>handle涔嬪悗錛屽垵濮嬪寲榪橀渶瑕佸寘鎷粠reg琛ㄩ噷闈㈣鍑虹浉鍏崇殑鍒濆鍖栧弬鏁幫紝瀵?/span>GIISR榪涜璧嬪鹼紝璀Port Address錛?/span>Mask Address錛?/span>SysIntr絳夈?/span>

 

椹卞姩紼嬪簭鍦ㄥ垵濮嬪寲鐨勬椂鍊欙細

1銆佸垱寤轟竴涓?/span>Event錛?/span>CreateEvent錛?/span>

2銆佺劧鍚庣敤InterruptInitialize鍑芥暟鎶?/span>sysintr鍜岃繖涓?/span>Event鐩稿叧鑱?/span>

3銆?/span>Kick-off涓涓?/span>Thread錛?/span>IST錛?/span>

4銆佽繖涓?/span>Thread鏈緇堟槸WaitForSingleObject錛?/span>EventID錛?/span>

鍏蜂綋鐨勪緥瀛愶紝鍙互鍙傞槄USBFN鐨勪緥瀛愶細sc2410pdd.cpp閲岄潰錛?/span>UfnPdd_Start鍑芥暟錛?/span>

Published Sunday, June 10, 2007 7:13 PM by ningling

浜曟硥 2008-12-02 17:00 鍙戣〃璇勮
]]>
Windows CE涓嬮┍鍔ㄥ紑鍙戝熀紜 浠樻灄鏋?/title><link>http://m.shnenglu.com/zjj2816/archive/2008/11/28/68088.html</link><dc:creator>浜曟硥</dc:creator><author>浜曟硥</author><pubDate>Fri, 28 Nov 2008 08:59:00 GMT</pubDate><guid>http://m.shnenglu.com/zjj2816/archive/2008/11/28/68088.html</guid><wfw:comment>http://m.shnenglu.com/zjj2816/comments/68088.html</wfw:comment><comments>http://m.shnenglu.com/zjj2816/archive/2008/11/28/68088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zjj2816/comments/commentRss/68088.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zjj2816/services/trackbacks/68088.html</trackback:ping><description><![CDATA[<span lang="zh-cn"></span>榪欐槸鎴戜粠1鏈?鏃ュ紑濮嬩富鎸佸ぉ鏋佺綉璁哄潧宓屽叆寮忓紑鍙戠増浠ユ潵絎竴嬈″彂琛ㄦ枃绔狅紝鍔犱笂浠ュ墠鐞愮鐨勬枃绔犲叡 璁?0綃囥傜爺絀剁殑瓚婂灝辮秺鎰熻鑷繁鎳傜殑澶皯錛屽叾瀹炲湪椹卞姩寮鍙戞柟闈㈡垜榪樻槸涓彍楦燂紝鎴戞槸鎯沖啀嬈℃姏鐮栧紩鐜夛紝璁╁仛椹卞姩鏈塏騫寸粡楠岀殑浜哄鐚竴鐐瑰嚭鏉ワ紝璁╁ぇ瀹跺噺灝戜竴浜? 鐮旂┒椹卞姩婧愮爜鑰屽張緙哄皯娉ㄩ噴鎵甯︽潵鐨勭棝鑻︺?br> <span lang="zh-cn">銆銆</span>鎴戞兂鍗充嬌璇昏呯湅榪囧井杞殑鍏充簬椹卞姩寮鍙戠殑鍩硅鏁欐潗鍜孋E甯姪鏂囨。涓殑椹卞姩閮ㄥ垎錛屽ご鑴戜腑浠嶇劧涓鐗囪尗鐒躲傝鎯崇湡姝d簡瑙i┍鍔ㄧ▼搴忓繀欏葷粨鍚堜竴浜涢┍鍔ㄧ▼搴忔簮鐮侊紝鍦ㄦ鎴戜互涓插彛椹卞姩紼嬪簭錛圕OM16550錛変腑鍒濆鍖栬繃紼嬩負綰跨儲綆鍗曡涓璁查┍鍔ㄥ紑鍙戠殑鍩虹鐭ヨ瘑銆?br> <span lang="zh-cn">銆銆</span>Windows CE涓嬬殑涓插彛椹卞姩紼嬪簭鑳藉澶勭悊鎵鏈塈/O琛屼負綾諱技涓插彛鐨勮澶囷紝鍖呮嫭鍩轟簬16450銆?6550 UART錛堥氱敤寮傛鏀跺彂鑺墖錛夌殑璁懼鍜屼竴浜涢噰鐢―MA鐨勮澶囷紝甯歌鐨勬湁9閽堜覆鍙c佺孩澶朓/O鍙c丮odem絳夈傚湪%_WINCEROOT%\Public \Common\OAK\Drivers\Serial鐩綍涓嬶紝COM_MDD2瀛愮洰褰曞寘鍚柊鐨勪覆鍙i┍鍔∕DD灞傚嚱鏁頒唬鐮併侰OM16550瀛愮洰褰曞寘鍚覆 鍙i┍鍔≒DD灞備唬鐮併係ER16550瀛愮洰褰曞寘鍚殑涓緋誨垪鍑芥暟涓撶敤浜庢帶鍒朵笌16550鍏煎鐨刄ART錛岃繖鏍稰DD灞傜殑涓昏宸ヤ綔灝辨槸璋冪敤SER16550涓? 鐨勫嚱鏁般傝繕鏈変竴涓狪SR16550瀛愮洰褰曞寘鍚殑鏄覆鍙i┍鍔ㄧ▼搴忎笓鐢ㄧ殑鍙畨瑁匢SR錛堜腑鏂湇鍔′緥紼嬶級錛岃屽緢澶氱‖浠惰澶囬┍鍔ㄧ▼搴忛噰鐢–E榛樿鐨勫彲瀹夎ISR giisr.dll銆備竴鑸覆鍙h澶囩浉搴旂殑娉ㄥ唽琛ㄨ緗緥瀛愬強鎰忎箟濡備笅錛? <table style="border-collapse: collapse;" id="AutoNumber1" border="1" bordercolor="#111111" cellpadding="0" cellspacing="0" width="90%"> <tbody> <tr> <td align="center" width="40%"><strong>閿?/strong></td> <td align="center" width="60%"><strong>鎰忎箟</strong></td> </tr> <tr> <td width="40%">"SysIntr"=dword:13</td> <td width="60%">涓插彛1鐨勪腑鏂璉D涓哄崄榪涘埗13</td> </tr> <tr> <td width="40%">"IoBase"=dword:02F8</td> <td width="60%">涓插彛1鐨処O絀洪棿棣栧湴鍧涓哄崄鍏繘鍒?F8</td> </tr> <tr> <td width="40%">"IoLen"=dword:8</td> <td width="60%">涓插彛1鐨処O絀洪棿闀垮害涓?涓瓧鑺?/td> </tr> <tr> <td width="40%">"DeviceArrayIndex"=dword:0</td> <td width="60%">涓插彛1鐨勭儲寮曪紝鏄?鐨勭敱鏉?/td> </tr> <tr> <td width="40%">"Order"=dword:0</td> <td width="60%">涓插彛1椹卞姩鐨勫姞杞介『搴?/td> </tr> <tr> <td width="40%">"DeviceType"=dword:0</td> <td width="60%">涓插彛1鐨勮澶囩被鍨?/td> </tr> <tr> <td width="40%">"DevConfig"=hex: 10,00 ....</td> <td width="60%">涓插彛1鍦ㄤ笌Modem璁懼閫氳鏃剁殑閰嶇疆錛屽娉㈢壒鐜囥佸鍋舵牎媯絳?/td> </tr> <tr> <td width="40%">"FriendlyName"="COM1:"</td> <td width="60%">涓插彛1鍦ㄦ嫧鍙風▼搴忎腑鏄劇ず鐨勫悕瀛?/td> </tr> <tr> <td width="40%">"Tsp"="Unimodem.dll"</td> <td width="60%">涓插彛1 琚敤浜庝笌Modem璁懼閫氳鐨勬椂鍊欒鍔犺澆鐨凾SP錛圱API Service provider錛塂LL</td> </tr> <tr> <td width="40%">"Prefix"="COM"</td> <td width="60%">涓插彛1鐨勬祦鎺ュ彛鐨勫墠緙</td> </tr> <tr> <td width="40%">"Dll"="com16550.Dll"</td> <td width="60%">涓插彛1鐨勯┍鍔ㄧ▼搴廌LL</td> </tr> </tbody> </table> <p><span lang="zh-cn">銆銆</span>SysIntr 鐢盋E鍦ㄦ枃浠禢kintr.h涓瀹氫箟錛岀敤浜庡敮涓鏍囪瘑涓柇璁懼銆侽EM鍙互鍦ㄦ枃浠禣alintr.h涓畾涔夎嚜宸辯殑SysIntr銆傚父瑙佺殑棰勫畾涔? SysIntr鏈塖YSINTR_NOP錛堜腑鏂彧鐢盜SR澶勭悊錛孖ST涓嶅啀澶勭悊錛夛紝SYSINTR_RESCHED錛堥噸鏂拌皟搴︾嚎 紼嬶級錛孲YSINTR_DEVICES錛堢敱CE棰勫畾涔夌殑璁懼涓柇ID鐨勫熀鍊鹼級錛孲YSINTR_PROFILE銆丼YSINTR_TIMING銆? SYSINTR_FIRMWARE絳夐兘鏄熀浜嶴YSINTR_DEVICES瀹氫箟鐨勩侷oBase鏄覆鍙?鐨処O鍦板潃絀洪棿鐨勯鍦板潃錛孖oLen鏄疘O絀洪棿 鐨勫ぇ灝忋侷O鍦板潃絀洪棿鍙瓨鍦ㄤ簬x86騫沖彴錛屽鏋滃湪鍏跺畠騫沖彴紜歡瀵勫瓨鍣ㄥ繀欏繪槧灝勫埌鐗╃悊鍦板潃絀洪棿錛岄偅瀛愰敭鐨勫悕縐頒負MemBase鍜孧emLen銆傚湪x86騫沖彴 鏇村紜歡鐨勫瘎瀛樺櫒鐢變簬IO絀洪棿鐨勫眬闄愪篃鏄犲皠鍒扮墿鐞嗗湴鍧絀洪棿銆侱eviceArrayIndex鏄澶囩殑绱㈠紩錛岀敤浜庡尯鍒嗗悓綾誨瀷鐨勮澶囥侾refix鏄祦椹卞姩 紼嬪簭鐨勫墠緙錛屽綋搴旂敤紼嬪簭璋冪敤CreateFile鍑芥暟浼犻扖OM1:鍙傛暟鏃訛紝鏂囦歡緋葷粺璐熻矗涓庝覆鍙i┍鍔ㄧ▼搴忛氫俊錛屼覆鍙i┍鍔ㄧ▼搴忔槸鍦–E鍚姩鏃剁敱 device.exe鍔犺澆鐨勩?br> <br> <span lang="zh-cn">銆銆</span>涓嬮潰浠嶮DD 灞傚嚱鏁癈OM_Init寮濮嬫帰绱覆鍙i┍鍔ㄧ殑鍒濆鍖栬繃紼嬨侰OM_Init鏄湪涓插彛璁懼琚嫻嬪悗鐢辮澶囩鐞嗗櫒device.exe璋冪敤鐨勶紝涓昏鐨勪綔鐢ㄦ槸鍒濆 鍖栬澶囷紝瀹冪殑鍞竴鍙傛暟Identifier鏄敱device.exe浼犻掔殑錛屽叾綾誨瀷鏄竴涓瓧絎︿覆鎸囬拡錛屽瓧絎︿覆鐨勫唴瀹規槸HLM\Drivers \Active\xx錛寈x鏄竴涓崄榪涘埗鏁幫紙device.exe浼氳窡韙郴緇熶腑姣忎釜椹卞姩紼嬪簭錛屾妸鍔犺澆鐨勯┍鍔ㄧ▼搴忚褰曞湪Active閿笅錛夈? COM_Init鍏堝垎閰嶄竴涓狧W_INDEP_INFO緇撴瀯浣擄紝榪欎釜緇撴瀯浣撴槸鐙珛浜庝覆鍙g‖浠剁殑澶翠俊鎭紙MDD銆丳DD銆丼ER16550閮藉寘鍚嚜宸辯嫭鐗圭殑 緇撴瀯浣擄紝鍏蜂綋鐨勭粨鏋勪綋瀹氫箟璇峰弬瑙佷覆鍙i┍鍔ㄦ簮鐮侊級錛屽垎閰嶄箣鍚庡啀鍒濆鍖栫粨鏋勪綋涓瘡涓垚鍛橈紝鍒濆鍖栫粨鏋勪綋鍚庤皟鐢? OpenDeviceKey((LPCTSTR)Identifier)鎵撳紑HLM\Drivers\Active\xx\Key鍖呭惈鐨勬敞鍐岃〃璺緞錛屽湪榪? 閲岃礬寰勪竴鑸負HLM\Drivers\BuiltIn\Serial錛屽嵆涓插彛鐨勯┍鍔ㄧ▼搴忎俊鎭湪娉ㄥ唽琛ㄤ腑鎵澶勭殑浣嶇疆銆侰OM_Init鎺ョ潃鍦℉LM \Drivers\BuiltIn\Serial涓嬫煡璇eviceArrayIndex銆丳riority256鐨勫鹼紝Priority256鎸囧畾浜嗛┍ 鍔ㄧ▼搴忕殑浼樺厛綰э紝濡傛灉娌℃湁灝辯敤榛樿鐨勪紭鍏堢駭銆傛帴涓嬫潵璋冪敤GetSerialObject(DeviceArrayIndex)錛岃繖涓嚱鏁扮敱PDD灞傚畾涔夛紝 榪斿洖HWOBJ緇撴瀯浣擄紝榪欎釜緇撴瀯浣撲富瑕佸寘鍚玃DD灞傚拰SER16550瀹氫箟鐨勫嚱鏁扮殑鎸囬拡銆備篃灝辨槸璇碝DD閫氳繃璋冪敤榪欎釜鍑芥暟鎵嶈兘璋冪敤搴曞眰瀹炵幇鐨勫嚱鏁般傛帴涓嬫潵 鐨勫ぇ澶氭暟宸ヤ綔閮芥槸璋冪敤搴曞眰鍑芥暟瀹炵幇鍒濆鍖栥傜涓涓皟鐢ㄧ殑搴曞眰鍑芥暟SerInit涓昏璁劇疆鐢辯敤鎴瘋緗殑紜歡閰嶇疆錛屼緥濡傜嚎璺帶鍒躲佹嘗鐗圭巼銆傚畠璋冪敤 Ser_GetRegistryData鍑芥暟寰楀埌淇濆瓨鍦ㄦ敞鍐岃〃涓殑紜歡淇℃伅錛孲er_GetRegistryData鍦ㄥ唴閮ㄨ皟鐢ㄧ郴緇熸彁渚涚殑 DDKReg_GetIsrInfoDDK鍜孌DKReg_GetWindowInfo鍑芥暟寰楀埌鍦℉LM\Drivers\BuiltIn\Serial 涓嬩繚瀛樼殑IRQ銆丼ysIntr銆両srDll銆両srHandler銆両oBase銆両oLen銆侷RQ鏄昏緫涓柇鍙鳳紝IsrDll琛ㄧず褰撳墠椹卞姩紼嬪簭鐨? 鍙畨瑁匢SR鎵鍦ㄧ殑DLL鍚嶇О錛孖srHandler 琛ㄧず鍙畨瑁匢SR鐨勫嚱鏁板悕縐般傚湪榪欓噷欏轟究鎻愪竴涓嬪彲瀹夎ISR錛岃鑰呭湪鎴戜互鍓嶅彂琛ㄧ殑鍏充簬OAL鐨勬枃绔犱腑鍙互浜嗚В鍒癘EM鍦∣EMInit鍑芥暟涓叧鑱擨RQ鍜? SysIntr錛屽綋紜歡璁懼鍙戠敓涓柇鏃訛紝ISR浼氱姝㈠悓綰у拰浣庣駭涓柇錛岀劧鍚庢牴鎹甀RQ榪斿洖鍏寵仈鐨凷ysIntr錛屽唴鏍告牴鎹甀SR榪斿洖鐨凷ysIntr鍞ら啋 鐩稿簲鐨処ST錛圫ysIntr涓嶪ST鍒涘緩鐨凟vent鍏寵仈錛夛紝IST澶勭悊涓柇涔嬪悗璋冪敤InterruptDone瑙i櫎涓柇紱佹銆傚湪OEMInit涓叧鑱? 鐨勭己鐐規槸涓鏃︾紪璇戜簡CE鍐呮牳鍚庡氨鏃犳硶娣誨姞榪欑鍏寵仈浜嗭紝鑰屼竴浜涚‖浠惰澶囦細闅忔椂鎻掓嫈鎴栬呭叡浜腑鏂紝瑕佸叧鑱旇繖鏍風殑紜歡璁懼瑙e喅鏂規硶灝辨槸鍙畨瑁匢SR錛屽彲瀹夎 ISR涓撶敤浜庡鐞嗘寚瀹氱殑紜歡璁懼鍙戝嚭鐨勪腑鏂紝鎵浠ュ鏋滅‖浠惰澶囬渶瑕佸彲瀹夎ISR蹇呴』鍦ㄦ敞鍐岃〃涓坊鍔營srDll銆両srHandler銆傚鏁扮‖浠惰澶囬噰鐢? CE榛樿鐨勫彲瀹夎ISR giisr.dll錛屾牸寮忓涓嬶細</p> <pre> "IsrDll"="giisr.dll"<br>"IsrHandler"="ISRHandler"</pre> <p><span lang="zh-cn">銆銆</span>濡傛灉涓涓‖浠墮┍鍔ㄧ▼搴忛渶瑕佸彲瀹夎ISR鑰屽紑鍙戣呭張涓嶆兂鑷繁鍐欎竴涓紝閭d箞鍙互鍒╃敤giisr.dll鏉ュ疄鐜般傞櫎浜嗗湪娉ㄥ唽琛ㄤ腑娣誨姞濡備笂鎵紺哄錛岃繕瑕佸湪椹卞姩紼嬪簭涓皟鐢ㄧ浉鍏沖嚱鏁版敞鍐屽彲瀹夎ISR銆備吉浠g爜濡備笅錛?/p> <pre>g_IsrHandle = LoadIntChainHandler(IsrDll, IsrHandler, (BYTE)Irq);<br>GIISR_INFO Info;<br>PHYSICAL_ADDRESS PortAddress = {PhysAddr, 0};<br>TransBusAddrToStatic(BusType, dwBusNumber, PortAddress, dwAddrLen, &dwIOSpace, &(PVOID)PhysAddr)<br>Info.SysIntr = dwSysIntr;<br>Info.CheckPort = TRUE;<br>Info.PortIsIO = (dwIOSpace) ? TRUE : FALSE;<br>Info.UseMaskReg = TRUE;<br>Info.PortAddr = PhysAddr + 0x0C;<br>Info.PortSize = sizeof(DWORD);<br>Info.MaskAddr = PhysAddr + 0x10;<br>KernelLibIoControl(g_IsrHandle, IOCTL_GIISR_INFO, &Info, sizeof(Info), NULL, 0, NULL);</pre> <p><span lang="zh-cn">銆銆</span>LoadIntChainHandler 鍑芥暟璐熻矗娉ㄥ唽鍙畨瑁匢SR錛屽弬鏁?涓篋LL鍚嶇О錛屽弬鏁?涓篒SR鍑芥暟鍚嶇О錛屽弬鏁?涓篒RQ銆俆ransBusAddrToStatic鍑芥暟鍦ㄥ悗闈㈣銆傚鏋? 瑕佸埄鐢╣iisr.dll浣滀負鍙畨瑁匢SR錛屽繀欏誨厛濉厖GIISR_INFO緇撴瀯浣擄紝CheckPort=TRUE琛ㄧずgiisr瑕佹嫻嬫寚瀹氱殑瀵勫瓨鍣ㄦ潵紜? 瀹氬綋鍓嶅彂鍑轟腑鏂殑鏄惁鏄繖涓澶囥侾ortIsIO琛ㄧず瀵勫瓨鍣ㄥ湴鍧灞炰簬鍝釜鍦板潃絀洪棿錛孎ALSE琛ㄧず鏄唴瀹氱┖闂達紝TRUE琛ㄧずIO絀洪棿銆? UseMaskReg=TRUE琛ㄧず璁懼鏈変竴涓帺鐮佸瘎瀛樺櫒錛屼笓鐢ㄤ簬鎸囧畾褰撳墠璁懼鏄惁鏄腑鏂簮錛屼篃灝辨槸鍙戝嚭涓柇錛岃孧askAddr琛ㄧず鎺╃爜瀵勫瓨鍣ㄧ殑鍦板潃銆? 濡傛灉瀵笽nfo.Mask璧嬪鹼紝閭d箞PortAddr琛ㄧず涓涓壒孌婄殑瀵勫瓨鍣ㄥ湴鍧錛岃繖涓瘎瀛樺櫒鐨勫間笌Mask鐨勫?amp;榪愮畻鐨勭粨鏋滃鏋滀負鐪燂紝鍒欒瘉鏄庡綋鍓? 璁懼鏄腑鏂簮錛屽惁鍒欒繑鍥濻YSINTR_CHAIN錛堣〃紺哄綋鍓岻SR娌℃湁澶勭悊涓柇錛屽唴鏍稿皢璋冪敤ISR閾句腑涓嬩竴涓狪SR錛夛紝濡傛灉 UseMaskReg=TRUE錛岄偅涔圡askReg瀵勫瓨鍣ㄧ殑鍊間笌PortAddr鎸囧畾鐨勫瘎瀛樺櫒鐨勫?amp;榪愮畻鐨勭粨鏋滃鏋滀負鐪燂紝鍒欒瘉鏄庡綋鍓嶈澶囨槸涓柇 婧愩?br> <span lang="zh-cn">銆銆</span>鍑芥暟SerInit鎺ョ潃璋冪敤鍑芥暟 Ser_InternalMapRegisterAddresses杞崲IO鍦板潃騫朵笖鏄犲皠鍦? 鍧錛孲er_InternalMapRegisterAddresses鍦ㄥ唴閮ㄨ皟鐢ㄧ郴緇熸彁渚涚殑HalTranslateBusAddress(Isa, 0, ioPhysicalBase, &inIoSpace, &ioPhysicalBase)鍑芥暟灝嗕笌鎬葷嚎鐩稿叧鐨勫湴鍧杞崲涓虹郴緇熷湴鍧錛屽弬鏁?涓烘葷嚎綾誨瀷錛屽弬鏁?涓烘葷嚎鍙鳳紝鍙傛暟3涓鴻杞崲鐨勫湴鍧 錛圥HYSICAL_ADDRESS綾誨瀷錛屽疄闄呮槸LARGE_INTEGER鍨嬶級錛屽弬鏁?鎸囧畾瀵勫瓨鍣ㄥ湴鍧灞炰簬IO鍦板潃絀洪棿榪樻槸鐗╃悊鍦板潃絀洪棿錛屽弬鏁?榪斿洖杞? 鎹㈠悗鐨勭墿鐞嗗湴鍧銆傝瀵烪alTranslateBusAddress鐨勬簮鐮佸緱鐭ュ鏋滄槸鍦▁86騫沖彴錛岃繖涓嚱鏁伴櫎浜嗘妸鍙傛暟3璧嬬粰浜嗗弬鏁?鍏朵綑浠涔堥兘娌℃湁鍋氾紝 鑰岄潪x86騫沖彴灝唅nIoSpace鐨勫肩疆涓?錛岃〃紺轟竴瀹氭槸鐗╃悊鍦板潃銆傚湪璋冪敤HalTranslateBusAddress鍓嶈紜畾浠庢敞鍐岃〃涓緱鍒扮殑瀵勫瓨 鍣ㄥ湴鍧鍒板簳鏄睘浜庡摢涓湴鍧絀洪棿鐨勶紝渚嬪錛?/p> <pre>ULONG inIoSpace = 1; ///1琛ㄧず鏄疘O絀洪棿<br>PHYSICAL_ADDRESS ioPhysicalBase = {iobase, 0}; ///鐩稿綋浜巌oPhysicalBase.LowPart = iobase</pre> <p><span lang="zh-cn">銆銆</span>鍦ㄥ湴鍧杞崲鍚庡氨瑕佸皢杞崲鍚庣殑鍦板潃鏄犲皠鍒伴┍鍔ㄧ▼搴忥紙涓鑸琁ST鍜屽簲鐢ㄧ▼搴忎竴鏍瘋繍琛屽湪鐢ㄦ埛妯″紡錛夎兘澶熻闂殑铏氭嫙鍦板潃絀洪棿錛?x80000000浠ヤ笅錛夊拰ISR鑳藉璁塊棶鐨勯潤鎬佽櫄鎷熷湴鍧絀洪棿涓紙0x80000000浠ヤ笂錛夈備緥濡傦細</p> <pre>////濡傛灉鍦板潃灞炰簬鐗╃悊鍦板潃絀洪棿<br>ioPortBase = (PUCHAR)MmMapIoSpace(ioPhysicalBase, Size, FALSE);<br>TransBusAddrToStatic(Isa, 0, ioPhysicalBase, Size, &inIoSpace, ppStaticAddress);</pre> <p><span lang="zh-cn">銆銆</span>MmMapIoSpace鍑芥暟璐熻矗灝嗙墿鐞嗗湴鍧鏄犲皠鍒伴┍鍔ㄧ▼搴忚兘澶熻闂殑铏氭嫙鍦板潃絀洪棿涓紝閫氳繃婧愮爜鍒嗘瀽MmMapIoSpace鍦ㄥ唴閮ㄥ垎鍒皟鐢細</p> <pre>pVirtualAddress =VirtualAlloc(0, SourceSize, MEM_RESERVE, PAGE_NOACCESS);<br>VirtualCopy(pVirtualAddress, (PVOID)(SourcePhys >> 8), SourceSize, PAGE_PHYSICAL | <br>PAGE_READWRITE | (CacheEnable ? 0 : PAGE_NOCACHE));</pre> <p><span lang="zh-cn">銆銆</span>VirtualAlloc 鍒嗛厤涓鍧楀拰MemLen涓鏍峰ぇ灝忕殑铏氭嫙鍦板潃絀洪棿錛屽洜涓哄弬鏁?涓?錛屾墍浠ュ唴鏍歌嚜鍔ㄥ垎閰嶃備竴鑸琈emLen灝忎簬2MB錛屾墍浠ヤ細鍦ㄥ簲鐢ㄧ▼搴忕殑鍦板潃絀洪棿涓垎閰嶃? VirtualCopy璐熻矗灝嗙‖浠惰澶囧瘎瀛樺櫒鐨勭墿鐞嗗湴鍧涓嶸irtualAlloc鍒嗛厤鐨勮櫄鎷熷湴鍧鍋氫竴涓槧灝勫叧緋伙紝榪欐牱椹卞姩紼嬪簭璁塊棶 PvirtualAddress瀹為檯涓婂氨鏄闂涓涓瘎瀛樺櫒銆傚洜涓虹‖浠惰澶囧瘎瀛樺櫒鐨勭墿鐞嗗湴鍧涓瀹氭槸鍦?12MB錛圕E鏀寔RAM鐨勬渶澶у鹼級浠ヤ笂錛屾墍浠ラ櫎浜? 鏈鍚庣殑鍙傛暟瑕佸姞PAGE_PHYSICAL澶栵紝絎簩涓弬鏁扮墿鐞嗗湴鍧涔熻鍙崇Щ8浣嶏紙鎴栬呴櫎浠?56錛夈傛槧灝勭‖浠跺瘎瀛樺櫒褰撶劧PAGE_NOCACHE鏄繀欏誨姞 鐨勩俆ransBusAddrToStatic鍑芥暟璐熻矗灝嗙墿鐞嗗湴鍧鏄犲皠鍒癐SR鑳藉璁塊棶鐨勯潤鎬佽櫄鎷熷湴鍧絀洪棿涓紝褰撳嚭鐜頒腑鏂叡浜椂錛孖SR瑕佽礋璐h闂‖浠惰 澶囩殑鏌愪竴涓瘎瀛樺櫒鏉ュ垽鏂腑鏂簮錛屾墍浠ュ皢瀵勫瓨鍣ㄧ殑鐗╃悊鍦板潃鏄犲皠鍒伴潤鎬佽櫄鎷熷湴鍧絀洪棿涓槸蹇呰鐨勶紙ISR鍙兘璁塊棶闈欐佺殑铏氭嫙鍦板潃絀洪棿錛夈傛墍璋撻潤鎬佽櫄鎷熷湴鍧絀洪棿鏄? 鎸囧湪OEMAddressTable涓畾涔夌殑铏氭嫙鍦板潃絀洪棿錛堝綋鐒舵槸0x80000000浠ヤ笂錛夈傚湪x86騫沖彴涓鑸繖涓〃鍙畾涔塕AM鐨勭墿鐞嗗湴鍧涓庤櫄鎷熷湴鍧 瀵瑰簲鍏崇郴錛岃岀‖浠惰澶囩殑瀵勫瓨鍣ㄥ湴鍧騫朵笉鍦ㄨ琛ㄤ腑瀹氫箟錛屾墍浠ュ鏋滆鍒涘緩涓鍧楅潤鎬佺殑铏氭嫙鍦板潃絀洪棿渚汭SR璁塊棶錛屽繀欏誨湪姝や箣鍓嶈皟鐢? CreateStaticMapping鍑芥暟鍦?xC4000000鍒?xE0000000铏氭嫙鍦板潃絀洪棿涓垎閰嶃? TransBusAddrToStatic鍑芥暟鍦ㄥ唴閮ㄥ氨鏄皟鐢ㄤ簡CreateStaticMapping鍑芥暟銆傛敞錛氱‖浠惰澶囩殑瀵勫瓨鍣ㄥ湴鍧涔熷彲浠ュ湪 OEMAddressTable涓畾涔夈?/p> <pre>////濡傛灉鍦板潃灞炰簬IO絀洪棿<br>ioPortBase = (PUCHAR)ioPhysicalBase.LowPart;<br>*ppStaticAddress=ioPortBase</pre> <p>榪欑鎯呭喌鍙睘浜巟86騫沖彴錛屾槸IO絀洪棿灝卞彲浠ョ洿鎺ヨ闂紝鍗充嬌鏄敤鎴鋒ā寮忋?br> <span lang="zh-cn">銆銆</span>SerInit 鍑芥暟鎺ョ潃鍒濆鍖朣ER_INFO緇撴瀯浣撴垚鍛橈紝涔嬪悗璋冪敤SL_Init鍑芥暟錛岃繖涓嚱鏁板湪ser16550涓畾涔夛紝璐熻矗鍒濆鍖朣ER16550_INFO緇撴瀯 浣擄紝鍦ㄨ繖涓粨鏋勪綋涓繚瀛樹覆鍙?涓瘎瀛樺櫒鐨勫湴鍧銆係erInit鍑芥暟鎵ц瀹屾瘯鍚嶤OM_Init鍑芥暟鍒涘緩鎺ユ敹緙撳啿鍖猴紝鐒跺悗璋冪敤 StartDispatchThread鍑芥暟鍒濆鍖栦腑鏂茍涓斿垱寤篒ST銆係tartDispatchThread鍑芥暟鍦ㄥ唴閮ㄨ皟鐢? InterruptInitialize鍑芥暟鍏寵仈SysIntr鍜孍vent錛岀劧鍚庤皟鐢↖nterruptDone鍑芥暟鍛婅瘔鍐呮牳褰撳墠涓插彛鍙互涓柇澶勭悊錛屾帴 鐫璋冪敤CreateThread鍑芥暟鍒涘緩IST綰跨▼銆傦紙over鍚э紝鍐嶅線涓嬭灝卞拰涓插彛紜歡鏈夊叧浜嗭紝鐪嬪浜嗘病娉ㄩ噴鐨勪唬鐮佹垜涔熺儲錛侊紒錛?/p><img src ="http://m.shnenglu.com/zjj2816/aggbug/68088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zjj2816/" target="_blank">浜曟硥</a> 2008-11-28 16:59 <a href="http://m.shnenglu.com/zjj2816/archive/2008/11/28/68088.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Enumhandlehttp://m.shnenglu.com/zjj2816/archive/2008/11/28/68083.html浜曟硥浜曟硥Fri, 28 Nov 2008 08:30:00 GMThttp://m.shnenglu.com/zjj2816/archive/2008/11/28/68083.htmlhttp://m.shnenglu.com/zjj2816/comments/68083.htmlhttp://m.shnenglu.com/zjj2816/archive/2008/11/28/68083.html#Feedback0http://m.shnenglu.com/zjj2816/comments/commentRss/68083.htmlhttp://m.shnenglu.com/zjj2816/services/trackbacks/68083.html
#include "ntdll.h"
#include <stdlib.h>
#include <stdio.h>
#include "ntddk.h"

#define DUPLICATE_SAME_ATTRIBUTES 0x00000004

#pragma comment(lib,"ntdll.lib")

BOOL EnablePrivilege(PCSTR name)
{
TOKEN_PRIVILEGES priv = {1, {0, 0, SE_PRIVILEGE_ENABLED}};
LookupPrivilegeValue(0, name, &priv.Privileges[0].Luid);

HANDLE hToken;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken);

AdjustTokenPrivileges(hToken, FALSE, &priv, sizeof priv, 0, 0);
BOOL rv = GetLastError() == ERROR_SUCCESS;

CloseHandle(hToken);
return rv;
}

int main(int argc, char *argv[])
{
if (argc == 1) return 0;

ULONG pid = strtoul(argv[1], 0, 0);

EnablePrivilege(SE_DEBUG_NAME);

HANDLE hProcess = OpenProcess(PROCESS_DUP_HANDLE, FALSE, pid);

ULONG n = 0x1000;
PULONG p = new ULONG[n];

while (NT::ZwQuerySystemInformation(NT::SystemHandleInformation, p, n * sizeof *p, 0)
== STATUS_INFO_LENGTH_MISMATCH)

delete [] p, p = new ULONG[n *= 2];

NT::PSYSTEM_HANDLE_INFORMATION h = NT::PSYSTEM_HANDLE_INFORMATION(p + 1);

for (ULONG i = 0; i < *p; i++) {

if (h[i].ProcessId == pid) {
HANDLE hObject;

if (NT::ZwDuplicateObject(hProcess, HANDLE(h[i].Handle), NtCurrentProcess(), &hObject,
0, 0, DUPLICATE_SAME_ATTRIBUTES)
!= STATUS_SUCCESS) continue;

NT::OBJECT_BASIC_INFORMATION obi;

NT::ZwQueryObject(hObject, NT::ObjectBasicInformation, &obi, sizeof obi, &n);

printf("%p %04hx %6lx %2x %3lx %3ld %4ld ",
h[i].Object, h[i].Handle, h[i].GrantedAccess,
int(h[i].Flags), obi.Attributes,
obi.HandleCount - 1, obi.PointerCount - 2);

n = obi.TypeInformationLength + 2;

NT::POBJECT_TYPE_INFORMATION oti = NT::POBJECT_TYPE_INFORMATION(new CHAR[n]);

NT::ZwQueryObject(hObject, NT::ObjectTypeInformation, oti, n, &n);

printf("%-14.*ws ", oti[0].Name.Length / 2, oti[0].Name.Buffer);

n = obi.NameInformationLength == 0
? MAX_PATH * sizeof (WCHAR) : obi.NameInformationLength;

NT::POBJECT_NAME_INFORMATION oni = NT::POBJECT_NAME_INFORMATION(new CHAR[n]);

NTSTATUS rv = NT::ZwQueryObject(hObject, NT::ObjectNameInformation, oni, n, &n);
if (NT_SUCCESS(rv))
printf("%.*ws", oni[0].Name.Length / 2, oni[0].Name.Buffer);

printf("\n");

CloseHandle(hObject);
}
}
delete [] p;

CloseHandle(hProcess);

return 0;
}

浜曟硥 2008-11-28 16:30 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区婷婷月色| 亚洲国产另类久久精品| 一本色道久久综合亚洲精品高清| 久久久久久日产精品| 亚洲欧美国产77777| 亚洲午夜国产一区99re久久| 亚洲欧美日韩精品久久奇米色影视| 亚洲一区二区三区四区在线观看 | 9色porny自拍视频一区二区| 一本久道久久综合中文字幕| 亚洲综合色在线| 久久免费视频观看| 欧美日韩亚洲在线| 国产原创一区二区| 99精品热6080yy久久| 欧美伊人久久大香线蕉综合69| 久久亚洲精品视频| 亚洲精品国产精品国自产观看浪潮| 亚洲激情视频网| 午夜精品福利在线观看| 免费观看不卡av| 国产精品日韩在线| 亚洲国产精品va在看黑人| 亚洲欧美日韩国产成人| 欧美成人亚洲| 香蕉免费一区二区三区在线观看| 欧美国产精品劲爆| 国产在线日韩| 亚洲欧美日韩在线| 亚洲第一黄色| 午夜国产精品影院在线观看| 欧美大胆人体视频| 国产一区二区三区在线观看视频 | 国产精品专区第二| 亚洲免费av片| 美女脱光内衣内裤视频久久影院 | av不卡在线观看| 免费不卡欧美自拍视频| 亚洲欧美在线另类| 国产精品国产三级国产| 亚洲美女黄色片| 欧美成人精品在线| 久久久国产91| 国产一区在线视频| 久久精品盗摄| 性欧美video另类hd性玩具| 国产精品红桃| 亚洲影院免费| 中文国产成人精品| 欧美日韩中文字幕综合视频| 亚洲精品美女久久7777777| 欧美 日韩 国产 一区| 亚洲天堂av高清| 亚洲激情一区| 免费看亚洲片| 久久综合五月| 亚洲电影在线观看| 蜜臀av在线播放一区二区三区| 性18欧美另类| 国产九九视频一区二区三区| 亚洲欧美怡红院| 亚洲一本大道在线| 国产精品一二三视频| 欧美一区二区精品在线| 亚洲免费网站| 国产一区再线| 免费短视频成人日韩| 男女av一区三区二区色多| 亚洲第一久久影院| 亚洲国产欧美另类丝袜| 欧美日韩成人网| 亚洲欧美精品| 午夜精彩视频在线观看不卡| 国产亚洲在线观看| 欧美成年人视频| 欧美理论在线| 欧美亚洲一区三区| 久久免费国产精品| 日韩视频在线观看| 亚洲午夜精品一区二区三区他趣| 国产三级精品三级| 亚洲国产高清视频| 国产精品igao视频网网址不卡日韩| 亚洲欧美成aⅴ人在线观看| 香蕉久久夜色| 亚洲精品中文字幕在线| 亚洲伊人伊色伊影伊综合网| 国内精品久久久久伊人av| 欧美激情一区二区| 国产精品a级| 欧美高清视频www夜色资源网| 欧美日韩日日骚| 久久综合九色欧美综合狠狠| 欧美激情一区二区三区成人| 性欧美在线看片a免费观看| 久久久久久亚洲精品杨幂换脸| 日韩视频在线观看| 久久超碰97中文字幕| av成人激情| 久久夜色精品国产| 性欧美大战久久久久久久免费观看| 狂野欧美一区| 欧美在线看片| 欧美日韩中文在线| 欧美激情欧美激情在线五月| 国产精品视频99| 亚洲美女色禁图| 一色屋精品亚洲香蕉网站| 在线亚洲欧美| 亚洲美女精品一区| 久久精品五月| 欧美一区免费| 国产精品国产精品| 日韩一级免费观看| 日韩一区二区免费高清| 麻豆精品视频| 欧美一区二区三区精品| 欧美日韩日本国产亚洲在线| 老司机一区二区| 国产精品青草久久久久福利99| 欧美成人精品在线观看| 国产日韩欧美精品| 中国亚洲黄色| 亚洲一区3d动漫同人无遮挡| 欧美激情一区二区三区全黄| 欧美成人国产va精品日本一级| 国产精品视频精品视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品日韩久久| 欧美 日韩 国产 一区| 欧美成人免费小视频| 黄色av成人| 久久婷婷久久| 欧美国产日本| 最新中文字幕亚洲| 农村妇女精品| 亚洲美女视频在线观看| 亚洲在线免费视频| 国产精品亚洲综合色区韩国| 亚洲午夜国产一区99re久久| 亚洲综合精品四区| 国产精品三级久久久久久电影| 亚洲午夜久久久久久久久电影网| 亚洲一区不卡| 国产日本欧美一区二区| 欧美一区午夜精品| 另类尿喷潮videofree| 亚洲国产成人一区| 欧美日韩中文在线| 性色av一区二区三区在线观看 | 久久综合一区二区| 亚洲国产91精品在线观看| 日韩午夜激情电影| 国产精品一二三| 久久久久久婷| 亚洲精品免费在线| 亚洲欧美日本日韩| 一区二区亚洲精品国产| 欧美不卡在线视频| 亚洲亚洲精品三区日韩精品在线视频| 久久成人一区| 亚洲国产欧美一区二区三区同亚洲| 欧美国产视频在线| 亚洲综合激情| 欧美激情视频网站| 先锋影音网一区二区| 亚洲第一黄网| 国产精品欧美一区喷水 | 欧美成人精品在线播放| 一本在线高清不卡dvd| 久久久午夜视频| 在线亚洲一区| 亚洲福利视频网| 国产精品超碰97尤物18| 久久久综合网站| 亚洲一区精彩视频| 亚洲激精日韩激精欧美精品| 欧美呦呦网站| 一区二区三区色| 亚洲黑丝在线| 国内精品免费在线观看| 国产精品va在线播放| 亚洲国产一区在线观看| 欧美日韩美女在线| 欧美有码在线视频| av成人免费| 亚洲观看高清完整版在线观看| 亚欧美中日韩视频| 亚洲另类在线视频| 狠狠色丁香婷婷综合| 欧美深夜影院| 欧美激情一区二区三级高清视频| 久久精品免视看| 欧美一级一区| 亚洲与欧洲av电影| 99精品99| 99riav国产精品| 亚洲日本成人女熟在线观看| 免费黄网站欧美| 久久综合九色综合欧美狠狠|