Feeds

Those MS API disclosures – errors, incomplete, useless?

Situation normal, then...

  • alert
  • submit to reddit

The essential guide to IT transformation

Earlier this week Microsoft posted details of a large number of APIs (272, we are told - we have not counted) in the MSDN library. This publication is intended to to comply with the terms of the MS-DoJ proposed settlement to the antitrust suit, and is part of a process whereby Microsoft 'levels the playing filed' for rival software publishers and developers by disclosing APIs and protocols, and offering them for license.

But the API disclosure seems at best utterly irrelevant, and at worst counter-productive, because it is not complete, and some of the information is misleading or wrong. Henk Devos, author of Registry Explorer (an alternative to regedit), has reviewed the documentation since it went up on Monday US time, and says it contains errors, and there are still some things that have been left out. He gives the examples of IBrowserFrameOptions and IDelegateFolder as missing (he says he's figured out the second anyway, but not the first), and that "now that SHCreateShellFolderViewEx has finally been documented after 7 years, the docs are wrong. The structure that they describe for the parameter is wrong."

"This is not intentional, it's just a mistake," he adds. This sort of stuff however does tend to confirm The appropropriately-named Register's long-term belief that what Microsoft has got in there is a grotesque, badly-documented pile of poo it doesn't fully understand itself.

It also seems to be the case that there are substantial numbers that have deliberately not been documented in this exercise, on the basis that these may change or disappear in the near future, and should therefore in Microsoft's view be avoided. This is, friends, plus ca change. As a developer you get some information about Microsoft APIs, but there are ones you don't know about, undocumented ones you use but maybe shouldn't, ones you don't know about that maybe Microsoft developers use (but maybe shouldn't)... So why is this any different from what it was before?

Devos' verdict is that: "All I can say is that this documentation is worthless. There is nothing in it that was not available publicly on the internet by now, except maybe for the Shell_MergeMenus which has some flags that I didn't know what they were. I did not look at all the functions, there might be a few other that were unknown so far. But these certainly won't help me. Another clear mistake, that cannot be completely unintentional, is the information about which Windows versions the interfaces are available on.

"Some functions that have been documented on the internet as long as 7 years ago are now supposedly available only from Windows 2000 on. They now claim that 'All have been documented to the same level of detail Microsoft uses for standard Windows APIs'. This is a real joke. All they did was list the signatures of the functions, and in some cases flags. You will never find any information on what it does, how to use it, where it is used... This was already the case for interfaces that were new for Windows XP and that have been documented. And there is still no information at all about how to achieve certain tasks."

By coincidence, The Register discussed Microsoft's disclosures with Opera Software CEO Jon von Tetzchner earlier this week. Opera is one of the companies that could be though to benefit from some aspects of the settlement. Von Tetchner, however, is unenthusiastic, describing the modded add-remove routine that's supposed to allow you to substitute middleware as "more work [for Microsoft's rivals] and definitely not positive. He also notes that as Microsoft's software is still there, but hidden, there's no chance of OEMs getting a lower price, and therefore being receptive to the idea of shipping substitutes instead.

And the APIs? He says he hasn't looked for them (just as well, Jon - Henk tells us you pretty well need to know what it is first in order to find it), as he's got better things to do, but he fears that making them more widely available is good for Microsoft, rather than its rivals. Adequate documentation would certainly make it easier for developers to work with Microsoft software, and as the software is still on the system, the APIs are still exposed (which is why Microsoft argued that the software would have to stay on the system). "The whole thing's a publicity stunt," von Tetchner told us. ®

Secure remote control for conventional and virtual desktops

More from The Register

next story
BBC: We're going to slip CODING into kids' TV
Pureed-carrot-in-ice cream C++ surprise
China: You, Microsoft. Office-Windows 'compatibility'. You have 20 days to explain
Told to cough up more details as antitrust probe goes deeper
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Scratched PC-dispatch patch patched, hatched in batch rematch
Windows security update fixed after triggering blue screens (and screams) of death
Windows 7 settles as Windows XP use finally starts to slip … a bit
And at the back of the field, Windows 8.1 is sprinting away from Windows 8
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?