Microsoft Internet Security and Acceleration Server 2000

IFWXSession::GetHostByName Method

Retrieves host information corresponding to a host name. This method is similar to the WinSock gethostbyname method.

HRESULT GetHostByName(
  const char *name,
  char *buf,
  int *buflen
);

Parameters

name
[in] Pointer to the null-terminated name of the host.
buf
[out] Pointer to the data area to receive the hostent data. The data area must be larger than the size of a hostent structure because the supplied data area is used by Windows Sockets to contain a hostent structure and all of the data referenced by members of the hostent structure. A buffer of MAXGETHOSTSTRUCT bytes is recommended.
buflen
[in, out] On input, specifies the size of data area for the buf parameter. If the buffer is too small, the error code ERROR_INSUFFICIENT_BUFFER is returned and the buflen parameter receives the size of the required buffer.

Return Values

S_OK
Success, the buffer was filled with the host information.
HRESULT_FROM_WIN32(WSAENOBUFS)
Insufficient buffer space is available. (The buffer pointed to by buf is not large enough to contain the host information.)
HRESULT_FROM_WIN32(WSAHOST_NOT_FOUND)
Authoritative answer host not found.
HRESULT_FROM_WIN32(WSATRY_AGAIN)
A nonauthoritative host not found, or SERVERFAIL.
HRESULT_FROM_WIN32(WSANO_DATA)
Valid name, no data record of requested type.

Remarks

Unlike the IFWXFirewall::GetHostByName method, this method checks permissions, and site and content rules, prior to providing the address. If there are no permissions, or if the site and content rules do not allow access, the host information will not be provided. This method also logs the name resolution and can use autodial to dial out for the name resolution.