On Tuesday 31 January 2006 07:33, Casper Hornstrup wrote:
-----Original Message----- From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Thomas Weidenmueller Sent: 31. januar 2006 13:12 To: ReactOS Development List Subject: Re: [ros-dev] Undocumented APIs
Casper Hornstrup wrote:
Why implement something which is not used? From a survival POV, ReactOS
is
better off doing what is needed instead of doing what is not needed.
Good luck. From a survival POV, we shouldn't even implement anything not documented publicly. Okay, then let's reinvent a native api to the kernel. If it turns out an application or driver really depends one one we're in deep sh... Not that I cared.
According to the legal repercussions that came about from the first MS//US DOJ lawsuit there are to be _no_ undocumented function calls within the Microsoft operating systems. If you are worried about function calls from the older windows releases, I believe there is enough documentation out there to implement those without requiring reverse engineering.
For the rest, if MS hasn't documented a function it is using then they should be in deep sh.. over that. IANAL, but IIRC, the first lawsuit against them covered undocumented functions and stated that MS could not have them as it was a monopolistic move. By that it meant that MS was not giving other companies a fair chance to compete, so all functions had to be documented.
There may be hundreds or even thousands of structures with undocumented members, but, personally, it might be good to do something like fix the value of those members to known values - either by writing a program to dump those values or just by picking a number at random. At some point the use of those values should become clear and proper values can then begin to be inserted by the code, as well as having a proper name given to the member.
Someone mentioned that regedit might be a piece of code which is the only one to use a function call... All modern windows releases ship with two versions of regedit, regedit.exe and regedt32.exe - and there have been several third-party replacements for regedit released. If possible it might be best for ReactOS to ship with one of the free third-party regedit's - this would save development time and the author of said tool might have information on undocumented API's.
When I've finished my other projects (one of which I'm hoping to have functioning in ReactOS) and have more time free I'll start trolling bugzilla and offering my help in keeping the bugs there cleaned up...
D. Hazelton