Article: Q238143
Product(s): Microsoft Windows NT
Version(s): 4.0
Operating System(s):
Keyword(s): kbnetwork kbAPI kbOSWin2000 kbOSWin2000bug kbSDKPlatform kbSDKWin32 kbDSupport kbGrpDSN
Last Modified: 10-AUG-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Windows NT Server version 4.0
-------------------------------------------------------------------------------
SYMPTOMS
========
You should use the WTSQuerySessionInformation function with the filtering flag,
WTSClientAddress, to get the client IP address on a Windows Terminal Client. The
buffer that is returned by this function contains a WTS_CLIENT_ADDRESS structure
for the client address family and address. However, on Windows NT Server version
4.0, Terminal Server Edition (TS4), the client address field is invalid.
RESOLUTION
==========
As a workaround on TS4, you can first use the WTSQuerySessionInformation
function with the WTSClientName filtering flag to get the client name. The
client name is either a dotted IP address or a name string. If the client name
is a name string, use the gethostbyname function to resolve the name to an IP
address.
The following code fragment illustrates how to use the gethostbyname function to
resolve a client name string to its IP address:
...
...
...
lphp = gethostbyname(szClientName);
if (lphp == NULL)
{
printf("gethostbyname failed: %d", WSAGetLastError());
return -1;
}
inAddr.s_addr = ((struct in_addr far *)(lphp->h_addr))->s_addr;
printf("Client address: %s\n", inet_ntoa(inAddr));
...
...
...
STATUS
======
Microsoft has confirmed this to be a problem in the Microsoft products that are
listed at the beginning of this article.
MORE INFORMATION
================
Because of this bug, both the auditing event log and tsadmin do not show the IP
address of the client.
Additional query words:
======================================================================
Keywords : kbnetwork kbAPI kbOSWin2000 kbOSWin2000bug kbSDKPlatform kbSDKWin32 kbDSupport kbGrpDSNet
Technology : kbWinNTsearch kbWinNT400search kbWinNTSsearch kbWinNTS400search kbWinNTS400
Version : :4.0
Issue type : kbbug
Solution Type : kbnofix
=============================================================================