简体   繁体   中英

How to Port Windows Embedded Compact 7 DLL to Windows CE 5.0 / 6.0?

I would like to port a DLL that was compiled for Windows Embedded Compact 7 into a Windows CE 5.0 / 6.0 environment. I'm fairly certain the target assembly language is compatible but from my experimentation it appears that there is something fundamentally different about the DLL's in WEC 7 than in WCE 5. Does anyone know what specifically is different about how the DLL's are compiled in WEC 7 than in WCE 5/6?

I'm assuming the source code for this dll is not available, which could make it difficult to use on earlier versions of Windows CE.

Newer versions of CE have added security features to the CRT library, so if the dll depends on any of those, it would not run on earlier versions.

Besides the target architecture, the OS images would also have to be built using a similar set of OS/SYSGEN features, or, again, the dll might fail to load or run if those dependencies are not satisfied.

The dll could be attempting to dynamically load other dll's, or could be relying on OS behaviour specific to CE 7.0.

In short, a potentially very difficult task without the source code.

A way to get started would be to use the Microsoft dumpbin tool with the /imports option to produce a list of dll's and entrypoints that the dll depends on. Similarly, use dumpbin /exports on the earlier builds of Windows CE that you want to use the dll on, to see what entrypoints are available, and work from there.

Another approach, in case you have access to Platform Builder and are able to generate OS images yourself, would be to use the kernel debugger to examine what happens when the dll is loaded.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM