On Tuesday 31 January 2006 07:33, Casper Hornstrup wrote:
> -----Original Message-----
> From: ros-dev-bounces(a)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