Friday, June 29, 2007

CeGetDiskFreeSpaceEx

This is one of the cases where you do have to dig into the SDK header files to find what you need. The CeGetDiskFreeSpaceEx RAPI function is not documented on my VS2005 MSDN, although you can easily find it on the online MSDN. I have to confess that I only found it after looking into the Windows Mobile 5 Pocket PC SDK rapi.h file. The online documentation says it is available since Windows CE 3.0, but a quick look at the same header file on the Pocket PC 2003 SDK is enough to see it is not there. So how do we decide who is right, the docs or the header? The answer is simple: use dynamic linking to the rapi.dll, and you will find out if this is supported or not.

During my furious searches on the net, I found an obscure thread posted by someone from Microsoft stating that this API is only exposed from ActiveSync versions 4.0 onwards.

1 comment:

JP said...

I want to get the total/free storage card space on windows mobile 2003 devices.CeGetDiskFreeSpaceEx doesn't work on 2003 devices.
if you check the errorcode it is 120 which is described as

"This function is not valid on this platform. ERROR_CALL_NOT_IMPLEMENTED " in System Errors .

Does anybody know any workarounds/solution?