[nttalk] why not to document ZwQueryInformationProcess ?

Hello!
Not a real problem, just curious.
ZwQueryInformationProcess pretty useful routine(I use it all the time to get process binary nt name). It is also kinda documented/not recommended for user mode in ntdll.

If people use this function anyway why ms doesn’t just document it? At least for some information classes.
Is that some kind of ms policy to annoy people ?

Is that some kind of ms policy to annoy people?

Is that some kind of Sergey tactic to piss people off?

Once an API is documented, Microsoft is obligated to provide full technical support for it, and to have its functionality cast in concrete for the rest of eternity. When an API is intended for internal use only, its functionality can evolve from release to release without causing an uproar. Crashes that result from reliance on observed (rather than documented) behavior do not incur a financial support liability.

@Tim_Roberts said:

Is that some kind of ms policy to annoy people?

Is that some kind of Sergey tactic to piss people off?

Once an API is documented, Microsoft is obligated to provide full technical support for it, and to have its functionality cast in concrete for the rest of eternity. When an API is intended for internal use only, its functionality can evolve from release to release without causing an uproar. Crashes that result from reliance on observed (rather than documented) behavior do not incur a financial support liability.

What’s wrong with documenting useful function ? Lots of functions are documented. And this one can be really handy sometimes.

> Crashes that result from reliance on observed (rather than documented)

behavior do not incur a financial support liability.
If we could get financial support for each FltGetFileNameInformation
flaw that caused us issues, we’d be millionaires by now…

So… even documented behaviour does not result in financial support :slight_smile:

Once an API is documented, Microsoft is obligated to provide full technical support for it, and to have its functionality
cast in concrete for the rest of eternity.

Crashes that result from reliance on observed (rather than documented) behavior do not incur a financial support liability.

Let’s check what MSFT EULA says on the subject

[begin quote]

  1. NO WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE PRODUCT, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS, WHICH VARY FROM STATE/JURISDICTION TO STATE/JURISDICTION. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE PRODUCT REMAINS WITH YOU.

  2. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT OR THE FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF MICROSOFT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY CASE, MICROSOFT’S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS EULA SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE PRODUCT OR U.S.$5.00; PROVIDED, HOWEVER, IF YOU HAVE ENTERED INTO A MICROSOFT SUPPORT SERVICES AGREEMENT, MICROSOFT’S ENTIRE LIABILITY REGARDING SUPPORT SERVICES SHALL BE GOVERNED BY THE TERMS OF THAT AGREEMENT. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

[end quote]

Unless we assume that you have “entered into a MSFT support services agreement”, the above quotation seems to be at odds with your statements on the subject

Anton Bassov

Is that some kind of ms policy to annoy people ?

[begin ironical mode]

I would say it is more of a mechanism, rather than a policy, but these two have been historically bundled together in the Windows world anyway…

[end ironical mode]

Anton Bassov

Anton, as a person who clearly does not live in the United States, you clearly have no idea of how banal and abstracted from the truth the legal system can be in that country - you only have experience with the soviet union where things were obviously much more fair

Anton, as a person who clearly does not live in the United States, you clearly have no idea of how banal and abstracted
from the truth the legal system can be in that country

You know, one does not really need to live in the US in order to know that a legal system of ANY country that is based upon the Common Law can be VERY twisted (although the US undoubtedly takes it to a basically different level - this is out of the question).

In fact, when it comes to being “abstracted from the truth”(at least in terms of absurdity), your statement may apply to ANY legal system.
Most people just don’t realise it until they have personally encountered it. At this point they may realise that the legal system and the real life may sometimes be sort of “parallel universes” that are governed by the totally different “rules of thought”.

I am also well aware of the fact that, if it came to rough, the document that I have quoted would not stand a slightest chance in a court. This becomes particularly obvious if we recall that every jurisdiction has its own laws, while EULA is the same everywhere.

So what???

you only have experience with the soviet union where things were obviously much more fair

WOW…

It looks like Mr.Kyler has found some followers…

Anton Bassov

The POINT here, which has been lost in all the blustering and pointless bickering, is that Microsoft has a stated policy of offering free technical support when investigating and solving problems related to documented APIs. Technical support is HUGELY expensive, far more than most people realize. They won’t commit to documenting (and thereby supporting) an API until they’re sure there’s a real need.

What’s wrong with documenting useful function

Well, nothing. In my experience, most of the actually useful functions that are not documented are not documented because nobody thought to document them. The dev owner and the doc owner(s) really never considered it. There HAVE been some cases where I asked for legitimately useful functions to be documented, and in which the dev owner declined to document that function because they could foresee changing it… or because they didn’t want to “open a can of worms” or a similar reason. In general, if you can make a good case for documenting a function, you have a very very good chance of getting it documented.

The easiest way to approach this these days is to file a DOC bug (not a software bug) saying “so-and-so is not documented, and it’s very useful.” This will USUALLY get the doc writer to inquire of the dev if the function can be doc’ed. Be specific in your bug report, and ask (for example) for SPECIFIC info classes from ZwQueryInformationProcess that you want doc’ed… and say why.

So, if you are legitimately curious… that’s the actual answer.

Peter

text only messages like these have a clear limitation of not including dripping sarcasm

my country is populated principally by the decedents of those who actively did not want to be citizens of the USA, and so moved north.

text only messages like these have a clear limitation of not including dripping sarcasm

I guess you should go back to school, and take a class on “[enter ironical mode] - [leave ironical mode]” blocks . The example below demonstrates this “language construct 's” usage

Example1.

my country is populated principally by the decedents of those who actively did not want to be citizens of the USA, and so moved north.

[enter ironical mode]

… or, to put it simply, by the Yanks who don’t want to be the ones, and try to look English instead.

If they go to any “MTV-English-speaking” European country they may be surprized to see exactly the opposite attitude…

[leave ironical mode]

Back in the good old days, you could express it in XML notation. However, despite all its “scary”
(at least as far as Mr.Bassov is concerned) new functionality, the new hosting platform does not seem to allow XML-style formatting
(and it does not seem to have a concept of a thread’s “statutory limitation” either)…

Anton Bassov