WINCE系统中coredll.dll有什么用?

我在查阅

size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count );

函数时在MSDN中看到如下字段:      

               

Requirements

OS Versions: Windows CE 2.0 and later.
Header: stdio.h, stdlib.h.
Link Library: coredll.dll.

 

程序包含stdio.h,stdlib.h头文件,则程序会去连接coredll.dll;那么我的问题是coredll.dll是什么呢?在系统中有什么功能呢?

经过查阅资料得出如下结论:

在wince系统中(我不知道win32系统也是如此,没研究)该库非常重要,我们调用system API时都不是直接调用的,而是先转到coredll.dll,由它帮我们去调用system API的。

我们通过coredll.dll代劳,实现了调用wince的系统API,该dll会被连接到操作系统的所有可执行模块中;而内核模块连接的是不是coredll.dll,而是对于该dll的一个特殊版本k.coredll.dll;那么有一种情况,就是如果一个用户态的module被加载到核心太运行时会发生什么呢?!在这样的情况下,可执行模块的中所有对coredll.dll的调用都会被retroute到k.coredll.dll。

 

wince系统中除了有system API,同时还提供application API,application API是类似于桌面系统的win32 API。开发者可以通过各种应用库文件来调用这些application API,比如:Wininet.dll, Winsock.dll, Msxml.dll, and Winhttp.dll等。

你可能感兴趣的:(学习,wince,application,api,system,dll,library)