caldo_de_cana, on Jan 15 2010, 07:18 PM, said:
Hi,
This seems like a very interesting project. I just think it lacks substantial amount of documentation on its inner working and how to build. Xeno86, could you please expand the README in sourceforge's SVN regarding the proper way to build it? I tried with MSVC2008 and got some dreaded /OPT:WIN98 is no longer supported or some such. I believe there are more people willing to contribute to the project if we have at least a simple guide explaining how to delve into the source code.
Would it be possible with the current architecture to add these?:
1. IPV6 support.
2. A replacement for GetProcessTimes which actually returns meaningful information.
If it's possible and I find my way around the source code I'll try to implement them.
By the way what's the "proper" support channel, is it this forum thread?
Ramiro Polla
Hi!
I agree that the lack of documentation is a big issue, this is mainly due to lack of time and when we have some free time we prefer to focus on implementation and hunting bugs

Officially only MSVC6 SP6 + PSDK2003 are supported and all builds are created using this configuration. Making KernelEx compile on MSVC2008 might or might not be a hard task.
While preparing a build on other compiler you have to keep in mind few things:
* KernelEx Core and KernelEx Base Shared API Library have to be build as shared DLLs - meaning their base addresses are >2GB and sections marked as shared
* Because DLLs have to be shared, you cannot directly link to MSVCRT or compiler provided C library as they don't work correctly in shared DLL environment - this is why KEXCRT was created, so you have to sort out all compiler generated references
* MSVC2008 generated binaries need post-compile modification using third party tools in order to make them runnable on Win 9x (change platform version).
* You can safely ignore /OPT:NOWIN98 flag as it is only used for disabling padding in MSVC6.
This project focuses on and is specifically designed for working with user-land API - Win32 API (think of it as of WINE project).
If I'm not mistaken, IPv6 would require quite a different approach - kernel-mode support so I doubt it will help you.
Implementing GetProcessTimes would likely require supporting drivers and changes to kernel code, while again we are specializing in user-land.
This forum is the official support channel.