WM6 Rapi 开发(二) Hello World
生活随笔
收集整理的這篇文章主要介紹了
WM6 Rapi 开发(二) Hello World
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
很簡單,記住幾個(gè)要點(diǎn)就可以任意開發(fā)了:
手機(jī)端:
動態(tài)庫里面的函數(shù)參數(shù)必須是這樣的:DWORD cbInput, BYTE *pInput, DWORD *pcbOutput, BYTE **ppOutput, IRAPIStream *pIRAPIStream;類型最好不要改動,參數(shù)名倒無所謂;其中 cbInput 就傳入緩沖區(qū)的長度,pInput 是傳入緩沖區(qū),pcbOutput 是傳出緩沖區(qū)的長度,ppOutput 是傳出緩沖區(qū),pIRAPIStream 如果不是使用流模式的話,一些設(shè)為 NULL 就行了。
添加 DEF 文件,并把輸出函數(shù)添加進(jìn)去。
?
PC端:
?
?
代碼 ????HRESULT?hr;????hr?=?CeRapiInit();
????DWORD?dwOut;
????PBYTE?pOut;
????CString?temp;
????hr?=?CeRapiInvoke(_T("TestLib.dll"),?_T("CeTest"),?0,?NULL,?&dwOut,?&pOut,?NULL,?0);
????if?(hr?==?S_OK)?{
????????temp?=?toWideString(pOut,?dwOut);
????}else{
????????temp.Format(_T("Error:%u"),?hr);
????}
????MessageBox(temp,?_T(""));
????CeRapiUninit();
?
?
?
MOBILE:
?
?
代碼 int?CeTest(DWORD?cbInput,?BYTE?*pInput,?DWORD?*pcbOutput,?BYTE?**ppOutput,?IRAPIStream?*pIRAPIStream){????char*?result?=?"Hello?World!";
????int?datalen?=?strlen(result);
????*ppOutput?=?(BYTE*)LocalAlloc(LPTR,?datalen);
????if(*ppOutput){
????????memset(*ppOutput,?0,?datalen);
????????memcpy(*ppOutput,?result,?datalen);
????????*pcbOutput?=?datalen;
????}else{
????????*pcbOutput?=?0;
????}
????return?0;
}
?
?源碼下載:http://files.cnblogs.com/lyout/TestLib.rar
轉(zhuǎn)載于:https://www.cnblogs.com/lyout/archive/2010/07/07/1694558.html
總結(jié)
以上是生活随笔為你收集整理的WM6 Rapi 开发(二) Hello World的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: InstallShield自定义安装界面
- 下一篇: SAP概述