WinCE同步和硬碟模式的切換

來源:互聯網
上載者:User
//========================================================================
//TITLE:
//    WinCE同步和硬碟模式的切換
//AUTHOR:
//    norains
//DATE:
//    Monday  22-October-2007
//Environment:
//        EVC4.0 + Windows CE 5.0 Standard SDK
//========================================================================

    本文一下內容基於RMI AU1200的實驗平台,且沒有更改預設的同步及硬碟模式的驅動檔案名稱,故無法保證本文的方法適用於所有的平台.
   
    在進行我們的文章之前,還有一件事情需要確認,就是make nk.bin時已經將兩種模式的特性添加.
   
    如果平台符合之前所說的兩個條件,那麼離成功已經只有一步之遙,剩下的也就非常簡單的(當然之前也沒見得多複雜^_^).
   
    接上USB線,wince是決定採用同步還是硬碟模式,取決於註冊表的參數.如果在DefaultClientDriver的索引值是Serial_Class,則是同步模式;反之,如果為Mass_Storage_Class,則為硬碟模式.需要留意一點的是,device.exe在啟動後會自動載入usb的驅動.換句話說,如果系統成功啟動後然後再更改註冊表,那麼無論改為何種模式,連結USB線後都是之前的模式.所以,如果我們需要設定生效,需要在設定完畢後重啟機器.
   
    說破了實在不之前,讓我們來看看模式設定的代碼:    CReg reg;
    reg.Create(HKEY_LOCAL_MACHINE,TEXT("Drivers/USB/FunctionDrivers"));

    TCHAR szDisp[MAX_PATH] = {0};
    reg.GetValueSZ(TEXT("DefaultClientDriver"),szDisp,MAX_PATH);
    MessageBox(NULL,szDisp,TEXT("The current value"),MB_OK);

    //同步模式
    //reg.SetSZ(TEXT("DefaultClientDriver"),TEXT("Serial_Class"));
    
    //硬碟模式
    //reg.SetSZ(TEXT("DefaultClientDriver"),TEXT("Mass_Storage_Class"));
    
    reg.Reset();

 
    一切就是那麼簡單,寥寥幾句代碼,即可完成兩種模式的轉換.如果比較無聊,接上USB線啥都不做,那隻要給"DefaultClientDriver"一個區別於以上字串的數值即可.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.