系統(tǒng)信息庫及用例說明_第1頁
系統(tǒng)信息庫及用例說明_第2頁
系統(tǒng)信息庫及用例說明_第3頁
系統(tǒng)信息庫及用例說明_第4頁
系統(tǒng)信息庫及用例說明_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、AN01010101V1.00Date: 2014/04/26產(chǎn)品應(yīng)用筆記類別內(nèi)容系統(tǒng)信息接口庫摘 要定義系統(tǒng)信息接口函數(shù),并配套示例演示接口庫的使用Application Note修訂歷史i版本日期原因V1.002014/04/26創(chuàng)建文檔目錄1. 系統(tǒng)信息接口庫結(jié)構(gòu)11.11.2epcSysInfoLib 接口庫結(jié)構(gòu)及組成1epcSysInfoLib包的接口函數(shù)說明11.2.11.2.21.2.31.2.41.2.51.2.61.2.7epcSysInfoGetVerepcGetSoftWareVerInfo 函數(shù)2函數(shù)2函數(shù)3epcGerdWareVerepcGetCustomerNam

2、e 函數(shù)3epcGetEbootCustomerName 函數(shù)4epcGetPlatFormName 函數(shù)4epcGetProsorInfo 函數(shù)52. epcSysInfoLib 應(yīng)用示例開發(fā)73.免責(zé).11i1. 系統(tǒng)信息接口庫結(jié)構(gòu)在 Windows CE 系統(tǒng)上提供了一個獲取系統(tǒng)信息的接口庫,該接口庫的名稱為epcSysInfoLib,它能使用戶十分方便地獲取系統(tǒng)信息。1.1epcSysInfoLib 接口庫結(jié)構(gòu)及組成如圖 1.1 所示,Windows CE 系統(tǒng)提供了WDT 驅(qū)動程序, epcSysInfoLib 接口供了一套操作 WDT 的函數(shù),用戶通過這些函數(shù)就可以操作WDT 功能

3、。圖 1.1 epcSysInfoLib包的結(jié)構(gòu)epcSysInfoLib 接口庫共包含三個文件, epcSysInfoLib.h 、 epcSysInfoLib.Lib 和epcSysInfoLib.dll,如圖 1.2 所示。(1) epcSysInfoLib.h 為 epcSysInfoLib包的頭文件包中的所有函數(shù)都在該文件中定義,用戶可以通過閱讀該文件來獲取各函數(shù)的原型及定義。(2) epcSysInfoLib.lib 為 epcSysInfoLib包的庫文件,如果用戶在使用該包時使用靜態(tài),需將該文件拷貝到工程目錄下,并在開發(fā)編譯器中設(shè)置外部庫文件為epcSysInfoLib.lib

4、。(3) epcSysInfoLib.dll 為 epcSysInfoLib包的動態(tài)文件, 此文件中包含了epcSysInfoLib 接口庫各函數(shù)運行時的代碼實現(xiàn),因此,在程序運行時,要將該文件Windows CE 上的應(yīng)用程序目錄下。到圖 1.2 epcSysInfoLib包的組成1.2epcSysInfoLibepcSysInfoLib 接口函數(shù)包的接口函數(shù)說明供了如表 1.1 所示的函數(shù)來獲取系統(tǒng)信息,各函數(shù)的用法請參考接口函數(shù)功能描述表中的詳細說明。1表 1.1 epcSysInfoLib包接口函數(shù)1.2.1 epcSysInfoGetVerInfo 函數(shù)如表 1.2 所示,獲取系統(tǒng)信

5、息函數(shù)庫適用的硬件與該庫的版本信息函數(shù),其中主要用于庫文件的版本和庫適用的信息追蹤,以免后續(xù)同樣庫的類型很難定位該庫適用么。見程序1.1,示例其函數(shù)的實現(xiàn)。表 1.2 epcWdtGetVerInfo 函數(shù)程序1.1 epcSysInfoGetVerInfo 函數(shù)使用范例1.2.2 epcGetSoftWareVer函數(shù)如表 1.3 所示,獲取系統(tǒng)固件版本號,其使用見程序表 1.3 epcGetSoftWareVer1.2。函數(shù)2函數(shù)名稱epcGetSoftWareVer函數(shù)原型BOOL epcGetSoftWareVer(DWORD *pdwSoftWareVer);功能描述獲取系統(tǒng)固件版本

6、號函數(shù)參數(shù)pdwSoftWareVer: 輸出參數(shù),用于存放系統(tǒng)固件的版本號函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。const WCHAR *pLibName = NULL; DWORD dwVer;pLibName = epcSysInfoGetVerInfo (&dwVer);函數(shù)名稱epcSysInfoGetVerInfo函數(shù)原型const WCHAR* epcSysInfoGetVerInfo (DWORD *pdwVer);功能描述獲取系統(tǒng)信息接口庫版本信息函數(shù)參數(shù)pdwVer: 輸出參數(shù),用于存放接口庫的版本號函

7、數(shù)返回值指向接口庫名稱字符串的指針特殊說明和該接口庫適用于所有的硬件,這里返回的硬件為一個的General函數(shù)名稱功能epcSysInfoGetVerInfo獲取系統(tǒng)信息接口庫版本信息epcGetSoftWareVer獲取系統(tǒng)固件版本號epcGerdWareVer獲取硬件版本號epcGetCustomerName獲取客戶名稱epcGetEbootCustomerName獲取Eboot 客戶名稱epcGetPlatFormName獲取名稱epcGetProsorInfo獲取處理器信息程序1.2 epcGetSoftWareVer函數(shù)使用范例1.2.3 epcGerdWareVer函數(shù)如表 1.4

8、 所示,獲取硬件版本號,見程序1.3,示例其函數(shù)的實現(xiàn)。表 1.4epcGerdWareVer函數(shù)程序1.3epcGerdWareVer函數(shù)使用范例1.2.4 epcGetCustomerName 函數(shù)如果要獲取客戶名稱,使用函數(shù)如表 1.5 所示, epcGetCustomerName 函數(shù)示例見程序清單 1.4。表 1.5 epcGetCustomerName 函數(shù)3函數(shù)名稱epcGetCustomerName函數(shù)原型BOOL epcGetCustomerName(WCHAR *ame, DWORD dwLen, DWORD *pdwActLen);功能描述獲取名稱函數(shù)參數(shù)ame: 客戶名

9、稱dwLen:需要獲取的客戶名稱的字符串長度pdwActLen: 實際返回客戶名稱的字符串長度函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。BOOL ret;ret = epcGetSoftWareVer(&dwHardWareVer); if (ret = TRUE ) m_strEPCHardWareVer.Format(_T(V%x.%02x), (dwSoftWareVer8)&0 xf, dwSoftWareVer&0 xff);函數(shù)名稱epcGerdWareVer函數(shù)原型BOOL epcGerdWareVer(DWOR

10、D *pdwHardWareVer);功能描述獲取硬件版本號函數(shù)參數(shù)pdwHardWareVer: 輸出參數(shù),用于存放硬件的版本號函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。BOOL ret;ret = epcGetSoftWareVer(&dwSoftWareVer); if (ret = TRUE ) m_strEPCSoftWareVer.Format(_T(V%x.%02x), (dwSoftWareVer8)&0 xf, dwSoftWareVer&0 xff);程序1.4 epcGetCustomerName 函數(shù)使

11、用范例1.2.5 epcGetEbootCustomerName 函數(shù)獲取 Eboot 客戶名稱,如表 1.6 所示,使用示例見程序表 1.6 epcGetEbootCustomerName 函數(shù)1.5。程序1.5 epcGetEbootCustomerName 函數(shù)使用范例1.2.6 epcGetPlatFormName 函數(shù)獲取名稱函數(shù)如表 1.7 所示,使用示例見程序1.6。表 1.7 epcGetPlatFormName 函數(shù)4函數(shù)名稱epcGetPlatFormName函數(shù)原型BOOL epcGetPlatFormName(WCHAR *ame, DWORD dwLen, DWORD

12、 *pdwActLen);功能描述獲取名稱BOOL ret;ret = epcGetEbootCustomerName (pStr, 256, &dwActlen); if (ret = TRUE ) MessageBox(pStr);函數(shù)名稱epcGetEbootCustomerName函數(shù)原型BOOLepcGetEbootCustomerName(WCHAR*ame,DWORDdwLen,DWORD*pdwActLen);功能描述獲取Eboot 客戶名稱函數(shù)參數(shù)ame:Eboot 客戶名稱dwLen:需要獲取的Eboot 客戶名稱的字符串長度pdwActLen: 實際返回Eboot 客戶名

13、稱的字符串長度函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。BOOL ret;ret = epcGetCustomerName(pStr, 256, &dwActlen); if (ret = TRUE ) MessageBox(pStr);程序1.6 epcGetPlatFormName 函數(shù)使用范例1.2.7 epcGetProsorInfo 函數(shù)獲取處理器信息函數(shù)如表 1.8 所示,使用示例見程序1.7。表 1.8epcGetProsorInfo 函數(shù)程序1.7epcGetProsorInfo 函數(shù)使用范例5BOOL bRe

14、t;CString str1,str2,str3; DWORDdwlen1, dwlen2, dwlen3;LPTSTR pstr1 = str1.GetBuffer(200);函數(shù)名稱epcGetProsorInfo函數(shù)原型BOOLepcGetProsorInfo(WCHAR*pwcVendor,DWORDdwVdLen,DWORD*pdwVdActlen,WCHAR*pwcProsorName,DWORDameLen,DWORD*ameActLen, WCHAR *pwcProsCore,DWORD dwProcCoreLen, DWORD*pdwProcCoreActLen);功能描述獲

15、取處理器信息函數(shù)參數(shù)dwVdLen:廠商名稱接收緩沖區(qū)長度ameLen:處理器名稱接收緩沖區(qū)長度 dwProcCoreLen: 處理器內(nèi)核名稱接收緩沖區(qū)長度 pwcVendor: 廠商名稱接收緩沖區(qū)dwVdActlen:廠商名稱實際長度pwcProsorName:處理器名稱接收緩沖區(qū)ameActLen: 處理器名稱實際長度 pwcProsCore:處理器內(nèi)核名稱接收緩沖區(qū) pdwProcCoreActLen: 處理器內(nèi)核名稱實際長度函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。BOOL ret;ret = epcGetPlatFo

16、rmName (pStr, 256, &dwActlen); if (ret = TRUE ) MessageBox(pStr);函數(shù)參數(shù)ame:名稱dwLen:需要獲取的名稱的字符串長度pdwActLen: 實際返回名稱的字符串長度函數(shù)返回值TRUE:成功FALSE:失敗特殊說明和失敗時,可通過GetLastError()函數(shù)獲取失敗原因。6LPTSTR pstr2 = str2.GetBuffer(80); LPTSTR pstr3 = str3.GetBuffer(80);bRet = epcGetProsorInfo(pstr1, 200, &dwlen1,pstr2, 80, &dw

17、len2, pstr3, 80, &dwlen3);2. epcSysInfoLib 應(yīng)用示例開發(fā)本示例將會詳細演示使用 Visual Studio 2005 和提供的 epcSysInfoLib 接口庫編寫一個嵌入式 Windows CE上的獲取系統(tǒng)信息示例程序。此示例程序界面如圖 2.1 所示。圖 2.1 epcSysInfoLib 使用示例界面本示例程序的開發(fā)步驟如下:(1)(2)(3)(4)在 PC 機的 Windows 中打開 Visual Studio 2005。用 Visual Studio 2005 建立一個基于 MFC 的框工程 epcSysInfoDemo。epcSysIn

18、foLib.h、epcSysInfoLib.lib 兩個文件到本工程目錄下。在epcSysInfoDemoDlg.cpp 文件中用#include 命令引入庫的頭文件epcSysInfoLib.h,用#ragma comment 命令引入庫的 lib 文件 epcSysInfoLib.lib。如程序2.1 所示。程序2.1 添加epcSysInfoLib 頭文件和庫文件(5)完成以上步驟后,通過添加 MFC 控件構(gòu)造出如圖 2.2 所示程序界面。圖 2.2 工程建立完成后的界面7#include epcSysInfoLib.h#pragma comment (lib, epcSysInfoLi

19、b.lib)(6)接下來,在OnInitDialog 函數(shù)中添加代碼,如程序程序2.2 OnInitDialog 事件代碼2.2 所示。8/*Reading software library verinfomation*/DWORD dwVer= 0; CString DemoInfo,LibInfo; GetWindowText(DemoInfo);LibInfo.Format(_T(%s V%x.%02x),epcSysInfoGetVerInfo(&dwVer), (dwVer8)&0 xf, dwVer&0 xff);DemoInfo = DemoInfo + L-(+ LLibInf

20、o: + LibInfo +L); SetWindowText(DemoInfo);BOOL bRet;DWORD dwSoftWareVer, dwHardWareVer, dwActlen;/*Get SoftWare Ver*/bRet = epcGetSoftWareVer(&dwSoftWareVer); if (bRet = TRUE) m_strEPCSoftWareVer.Format(_T(V%x.%02x), (dwSoftWareVer8)&0 xf, dwSoftWareVer&0 xff);else MessageBox(_T(Get SoftWare Verfail

21、ed!);/*GerdWare Ver*/bRet = epcGerdWareVer(&dwHardWareVer); if (bRet = TRUE) m_strEPCHardWareVer.Format(_T(V%x.%02x), (dwHardWareVer8)&0 xf, dwHardWareVer&0 xff);else MessageBox(_T(GerdWare Verfailed!);/*Get PlatForm Name*/LPTSTR pStr = m_strEPCPlatFormName.GetBuffer(256); bRet = epcGetPlatFormName(

22、pStr, 256, &dwActlen);if (bRet = FALSE)MessageBox(_T(Get PlatForm Name failed!);(7) 啟動 Windows CE 操作系統(tǒng),用 USB 線連接工控開發(fā)板和 PC 機,通過 USB建立 Windows CE 與 PC 機 Windows 的 ActiveSync 連接。9/*Get Customer Name*/pStr = m_strEPCCustomerName.GetBuffer(256); bRet = epcGetCustomerName(pStr, 256, &dwActlen); if (bRet =

23、 FALSE)MessageBox(_T(Get Customer Name failed!);/*Get Eboot Customer Name*/pStr = m_strEBootCustomerName.GetBuffer(256);bRet = epcGetEbootCustomerName(pStr, 256, &dwActlen); if (bRet = FALSE)MessageBox(_T(Get Eboot Customer Name failed!);/*Get Prosor Infomation*/CString str1,str2,str3; DWORDdwlen1,

24、dwlen2, dwlen3; LPTSTR pstr1 = str1.GetBuffer(200); LPTSTR pstr2 = str2.GetBuffer(80); LPTSTR pstr3 = str3.GetBuffer(80);bRet = epcGetProsorInfo(pstr1, 200, &dwlen1,pstr2, 80, &dwlen2,pstr3, 80, &dwlen3);if (bRet = FALSE)MessageBox(_T(Get Prosor Infomation failed!);/* Add to m_strEPCProsorInfo*/m_st

25、rEPCProsorInfo.Insert(0, pstr1); m_strEPCProsorInfo += _T(,); m_strEPCProsorInfo.Insert(dwlen1 + 1, pstr2); m_strEPCProsorInfo += _T(,);m_strEPCProsorInfo.Insert(dwlen1 + dwlen2 + 2, pstr3);UpdateData(FALSE); (8)在 Visual Studio 2005 的中,選擇開發(fā)SDK,然后選擇菜單“Build”“Deploy Solution”,工程開始編譯。如果編譯成功,將自動本示例的可執(zhí)行文

26、件 epcSysInfoDemo.exe 到開發(fā)板上的“目錄下。設(shè)備Program FilesepcSysInfoDemo”(9)將 epcSysInfoLib包的 epcSysInfoLib.dll 文件到 Windows CE 操作系統(tǒng)的“設(shè)備Program FilesepcSysInfoDemo”目錄下,如圖 2.3 所示。圖 2.3epcSysInfoLib.dll 到Windows CE 下(10) 在 Windows CE 操作系統(tǒng)的“設(shè)備Program Files epcSysInfoDemo”中,可以找到可執(zhí)行文件 epcSysInfoDemo.exe 文件,運行該文件,界面如圖 2.4 所示。圖 2.4 epcSysInfoDemo.exe 運行界面103. 免責(zé)本文檔提供有關(guān)致遠電子產(chǎn)品的信息。本文檔并未授予任何知識的,并未以明示或暗示,或以款和條件中發(fā)言或其它方式授予任何知識。除致遠電子在其產(chǎn)品的銷售條的責(zé)任之外,致遠電子概不承擔任何其它責(zé)任。并且,致遠電子對致遠電子產(chǎn)品的銷售和使用不作任何明示或暗示的擔

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論