在PC端远程调用手机端的DLL文件失败。

eajum 2009-08-18 08:39:52
void __fastcall TProtocolWinCE::DumpPhoneContact()
{
m_progress->OnShowMessage("读取手机通讯录...");
IRAPIStream *pStream;
DWORD dwOut;
BYTE* pOut;
if(CeRapiInvoke(L"\\Windows\\smext.dll",L"GetPhoneContacts",0,NULL,
&dwOut,NULL,&pStream,0) == S_OK)
{
CONTACT* contact;
DWORD dwRead;
contact = new CONTACT();
pStream->Read(contact,SIZE_CONTACT,&dwRead);
//失败
if(!wcscmp(L"___END",contact->Number))
{
delete contact;
return;
}
if(!wcscmp(L"___MAX",contact->Number))
{
m_progress->OnStart(AnsiString(contact->FirstName).ToInt());
}
delete contact;
PhoneBook* book;
while(true)
{
contact = new CONTACT();
pStream->Read(contact,SIZE_CONTACT,&dwRead);
if(!wcscmp(L"___END",contact->Number))
{
delete contact;
break;
}
if(contact != NULL)
{
book = new PhoneBook();
book->Name = contact->LastName;
book->Name += contact->FirstName;
book->Name += contact->MiddleName;
book->Number = contact->Number;
book->Home = contact->HomeNumber;
book->Office = contact->BusinessNumber;
book->EMail = contact->Email;
m_data->MePhonebook->Add(book);
delete contact;
contact = NULL;
}
m_progress->OnSetp();
}
}

}

每次都调用不起来,我及其的确定有这个DLL文件。
DLL文件是自己写的,不是手机原有的。
手机是多普达P800,手机操作系统是WM6.5的。


请各位大侠不吝赐教啊。
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
eajum 2009-08-18
  • 打赏
  • 举报
回复
那怎么设置呢?设备的安全设置里面也没有。。。
ZhongShanZai 2009-08-18
  • 打赏
  • 举报
回复
返回5是拒绝访问,你设备的安全级别太高了
eajum 2009-08-18
  • 打赏
  • 举报
回复
DWORD dwRet = CeGetLastError()
得到的 dwRet 的值是5
ZhongShanZai 2009-08-18
  • 打赏
  • 举报
回复
返回值是什么?
你要想办法“告诉”系统你写的dll是供远程调用的才行!
eajum 2009-08-18
  • 打赏
  • 举报
回复
我编译的时候就选择的ARM平台的
应该是可以的
91program 2009-08-18
  • 打赏
  • 举报
回复
在PC上调用手机上的DLL,肯定是不行的。

因为手机上的DLL是编译成ARM指令集的,而PC呢却是X86的。
eajum 2009-08-18
  • 打赏
  • 举报
回复
拜托哪位大哥大姐来指点一下迷津呀。。。
eajum 2009-08-18
  • 打赏
  • 举报
回复
大哥大姐!!!救救我呀!!!!

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧