Replace MapCallerPtr and OEMEthGetSecs (Compact 7)
3/12/2014
MapCallerPtr
Prior to Windows Embedded CE 6.0, you used the function MapCallerPtr for pointers embedded in data structures that were passed into drivers. For pointers passed as function arguments, it was not necessary to use MapCallerPtr, because Device Manager took care of mapping pointers passed in as parameters.
In Windows Embedded CE 6.0 and Windows Embedded Compact 7, you must marshal an embedded pointer with the CeOpenCallerBuffer and CeCloseCallerBuffer functions. As in prior releases, Device Manager marshals pointers that are passed in as parameters, so you need to marshal only embedded pointers. The CeAllocAsynchronousBuffer function is for drivers that need asynchronous access to the data, for example, in situations where the driver needs to retry sending data while not blocking the caller indefinitely. For more information about marshaling embedded pointers, see Marshalling for Windows Embedded CE 6.0 Driver Migration.
OEMEthGetSecs
In Windows Embedded CE 6.0 and Windows Embedded Compact 7, the platform-specific function OEMEthGetSecs has been replaced with the KITL implementation of OEMKITLGetSecs. If your BSP relies on the header file e_to_k.h to map the two functions, then you must include halether.h in your header file. If your BSP implements its own OEMEthGetSecs, then you do not need to make any changes.