It wouldn't be the first time the MSDN documentation was wrong.
MSDN has been falling on its face in recent years. Replacing
references to Win95 or Windows NT with Windows Vista, etc. which
causes me to always question whether "minimum supported client" has
any validity for many API functions. For instance, GetCurrentProcessId
function documentation has Windows XP as minimum supported client
while it surely existed in Windows 95. I don't know what their
justification is for this modification of history other than they
simply don't want to "support" legacy systems like Windows 95/NT/XP
even though the API exists in those systems.
The only way to know whether it exists is to boot up that old legacy
system and test it or poke into a copy of Windows XP's kernel32.dll
with Dependency Walker and see if it's there.
I think someone went a little wild with global find and replace in
MSDN a while ago and it's never been quite as good a resource as it
was back in the good old days of the MSDN CDs.
If you're in the thread and you want its ID, use GetCurrentThreadId()
which the MSDN online documents to be supported in XP.
If you created your thread using CreateThread then you can establish
the thread ID at that time by passing a non-null LPDWORD to receive
the thread ID when it's created.
Seeking to avoid the revisionist web, I opened up my old CD box and
installed the MSDN library for VS 6.0 and cannot find documentation to
support the GetThreadId function so it looks like it didn't exist at
that time but GetCurrentThreadId() did exist.