查到网上相关资料,引用如下:
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。