|
WINCE 待机唤醒后,GPS设备电源状态不正常?
[复制链接]
环境:WINCE6.0+VS2005+PXA310
问题描述:GPS模块待机唤醒后设备电源状态为D2,AP调用GetDevicePower(L"GPS1:", POWER_NAME, &pDeviceState)获取的结果。
而GPS模块实际支持的电源状态只有D0、D3、D4代码:
case IOCTL_POWER_CAPABILITIES:
// support D0, D3, D4
power_caps->DeviceDx = DX_MASK(D0)|DX_MASK(D3)|DX_MASK(D4);
*pdwActualOut = sizeof(POWER_CAPABILITIES);
// 开机使GPS处于掉电状态
dwPWRRet = DevicePowerNotify(GPSNAME, D4, POWER_NAME);
发现问题:
AP调用GetDevicePower()函数时,GPS驱动并未执行IOCTL_POWER_GET
而AP直接通过DeviceIoControl(hGPS, IOCTL_POWER_GET, NULL, 0, buffer, sizeof(CEDEVICE_POWER_STATE), bufferOutSize, NULL)调用结果则是DO
难道获取设备电源状态API,不是GetDevicePower(),或者还是我的系统电源状态与设备电源状态不匹配如(suspend == D3...)
|
|