From: rommel@jonas.gold.sub.org (Kai Uwe Rommel)
Newsgroups: comp.os.os2.advocacy
Subject: Re: Discovered: Microsoft using undocumented calls in Windows NT
Distribution: world
Date: Sat, 12 Dec 92 22:18:53 MET
Organization: Private

In article <1992Dec11.054414.7325@zooid.guild.org> Mark Kovarski <kovarski@zooid.guild.org> writes:
>There is evidence that Microsoft continues to use undocumented calls in
>Windows NT, which is part of the FTC investigation. Outside developers
>have discovered that Microsoft uses undocumented calls in their own
>utilities that compete with software competitors utilities. Microsoft's
>Win32 Software Development Kit includes a utility called Pview. The
>utility uses calls such as:
>
>NtQuerySystemInformation
>NtQueryPerformance Counter
>NtQueryInformationThread
>
>The functions, although contained in NTDLL.DLL (will be included in the
>shipping version of NT) are all undocumented.
>
>Microsoft uses undocumented calls for their own advantage in order to
>enhance performance even further. This matter is part of the on-going
>FTC investigation.

I appreciate your informations in this group (as a counterpart to
Brian Sturgill, for example), but this is a bit exaggerated.

PVIEW is a system tool to view/modify processes and threads in NT. It
is normal that such system level (or internal) tools use undocumented
interfaces to the operating system.

Similarly, the OS/2 PSTAT program uses the undocumented system call
DosQProcStatus. Other system analysis tools (or profiling tools) may
use such calls too.

The published Win32 API is for applications to be portable across
possibly more than one platform that provides this API. The calls
above used by PVIEW may be specific to the particular kernel/system
providing a Win32 implementation, NT in this case, and are not
available in possible other Win32 implementations. To avoid unportable
applications, such calls are either undocumented or documented
separately as strictly nonportable (the first seems the case here
while I personally would prefer the second case).

For example, the DosQProcStatus system call which was already present
in OS/2 1.2, I think, i.e. at times when MS was responsible for it, is
not available in NT's OS/2 16-bit subsystem. It is also not even
portable between OS/2 1.x and 2.x, it exists in both of them but
returns different information.

The point where people argue about MS using undocumented calls is in
their *applications* that don't have any need of OS internals and
which compete with applications from developers who don't have the
same level of information available to them.

*If* MS would in the future sell a NT version of WinWord and *this*
would use the mentioned undocumented NT calls to implement some
functionality which would otherwise not be possible and that thus
competitor's programs could not provide, *then* this would be a very
bad thing and a reason for FTC investigations.

Kai Uwe Rommel

--
/* Kai Uwe Rommel                                      Muenchen, Germany *
 * rommel@jonas.gold.sub.org                       Phone +49 89 723 4101 *
 * rommel@informatik.tu-muenchen.de                  Fax +49 89 723 7889 */

DOS ... is still a real mode only non-reentrant interrupt
handler, and always will be.                -Russell Williams
Newsgroups: comp.os.os2.advocacy