Hi Cheryl,
Actually, there is an argument for not documenting certain APIs.
My understanding (for what that is worth) is that sometimes an API or two is left undocumented, because the vendor (MSFT) plans on removing the API later, or something like that.
The rub occurs when 3rd parties find undocumented APIs, then take advantage of them. Once a commercially successful app uses undocumented APIs, MSFT is kind of stuck with keeping those APIs, because to remove them in the next version would break the successful 3rd party app.
This happened under MS-DOS with Borland Sidekick. The engineers at Borland took advantage of an undocumented API, and MSFT had to leave that API in for the next version of DOS, or break Sidekick... they left the API in.
I'm fairly certain this has also happened under Windows, but I don't have any specifics.
As for keeping APIs undocumented as a means of screwing competitors, I'm not sure if that was ever their (MSFT's) intent.
Myself, I think all of the APIs should be documented, and the ones MSFT doesn't want people using, they should warn them about..."this API may not exist in future versions of the OS... use it at your own risk."
FWIW Andy |