微软API的实现源码?

查看 24|回复 0
作者:董督秀   
最近在学习API的应用,微软提供给开发者一系列API以供开发者调用。例如,GetVersionExW。但这些API都是微软封装好的接口,没法知道其源码实现。
查到网上相关资料,引用如下:
GetVersionExW大概是这么实现的(这仅仅是Windows2000的源代码,后面的新系统,OSVERSIONINFOW这个结构多了几倍的成员)。
WINBASEAPI BOOL WINAPI GetVersionExW(
    LPOSVERSIONINFOW lpVersionInformation)
{
    PPEB Peb;
    if (lpVersionInformation->dwOSVersionInfoSize != sizeof( *lpVersionInformation )) {
        SetLastError( ERROR_INSUFFICIENT_BUFFER );
       return FALSE;
        }
    Peb = NtCurrentPeb();
    lpVersionInformation->dwMajorVersion = Peb->OSMajorVersion;
    lpVersionInformation->dwMinorVersion = Peb->OSMinorVersion;
    lpVersionInformation->dwBuildNumber  =Peb->OSBuildNumber;
    lpVersionInformation->dwPlatformId  = Peb->OSPlatformId;
    wcscpy(lpVersionInformation->szCSDVersion,BaseCSDVersion );
    return TRUE;
}
    问题:是否有已经公开或泄露的windows源代码(较全),能够查询到其他的API源码实现?我下载了泄露的xp源码,里面大多是ntdll的部分实现,没有常规ring3的API的实现。上面的API只是单独举例,并不是仅包含此API。

微软, 源码

您需要登录后才可以回帖 登录 | 立即注册

返回顶部