Microsoft Internet Security and Acceleration Server 2000

IFWXSession::GetHostByAddr Method

Retrieves host information corresponding to an address.

HRESULT GetHostByAddr(
  const char *addr,
  int len,
  int type,
  char *buf,
  int *buflen
);

Parameters

addr
[in] Pointer to the network address for the host. Host addresses are stored in network byte order.
len
[in] Length of the address.
type
[in] Type of the address.
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
The method was successful. 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::GetHostByAddr 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.