当前位置:编程学习 > wap >>

请教高手,Windows Mobile手机拔出数据线后再次重新插入数据线,调用CeCreateProcess失败返回值是0x80070015(设备未就绪).

Windows Mobile手机拔出数据线后再次重新插入数据线,此时调用CeCreateProcess就不行了,返回值是0x80070015(设备未就绪).而且我拔出之前调用了CeUninit,插入数据线后又调用了CeRapiInitEx,还是失败,为什么啊? --------------------编程问答-------------------- 判断CeRapiInitEx是否成功,用SUCCEEDED(hr)判断返回的句柄。
成功了再继续调用CeCreateProcess --------------------编程问答-------------------- 我完全用的是MSDN上的代码:
HRESULT            hr = E_FAIL;
RAPIINIT           riCopy;
bool          fInitialized = false;

ZeroMemory(&riCopy, sizeof(riCopy));
riCopy.cbSize = sizeof(riCopy);

hr = CeRapiInitEx(&riCopy);
if (SUCCEEDED(hr))
{
DWORD dwRapiInit = 0;
fInitialized = true;

dwRapiInit = WaitForSingleObject(
riCopy.heRapiInit,
5000);
if (WAIT_OBJECT_0 == dwRapiInit)
{
//  heRapiInit signaled:
// set return error code to return value of RAPI Init function
hr = riCopy.hrRapiInit;  
}
else if (WAIT_TIMEOUT == dwRapiInit)
{
// timed out: device is probably not connected
// or not responding
hr = HRESULT_FROM_WIN32(ERROR_TIMEOUT);
}
else
{
// WaitForSingleObject failed
hr = HRESULT_FROM_WIN32(GetLastError());
}
}

if (fInitialized && FAILED(hr))
{
CeRapiUninit();
}
return hr;

手机拔了以后这里居然也能成功,只要之前连接成功的! --------------------编程问答-------------------- 调用CeRapiInitEx成功,用SUCCEEDED(hr)判断返回的句柄。
成功了再继续调用CeCreateProcess还是返回0x80070015(设备未就绪).怎么解决啊?急急急急
补充:移动开发 ,  Windows Phone
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,