Microsoft Internet Security and Acceleration Server 2004 SDK


The GetHostByAddr method retrieves host information corresponding to an address.

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


[in] Pointer to the network address for the host. Host addresses are stored in network byte order.
[in] Length of the address.
[in] Type of the address.
[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 (Winsock) to contain a hostent structure and all of the data referenced by members of the hostent structure. A buffer of MAXGETHOSTSTRUCT bytes is recommended.
[in, out] On input, specifies the size of the data area for the buf parameter. If the buffer is too small, the error code HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) is returned and the buflen parameter receives the size of the required buffer.

Return Values

The method was successful. The buffer was filled with the host information.
Insufficient buffer space was provided. That is, the buffer pointed to by buf is not large enough to contain the host information.
The address specified could not be found in the relevant database.
No response was received from an authoritative server.
The address specified is valid and was found in the database, but no information of the type requested is associated with it.


Like the IFWXFirewall::GetHostByAddr method, this method checks permissions and policy rules, prior to providing the address. If there are no permissions or if the policy rules do not allow access, the host information will not be provided, and the method will return HRESULT_FROM_WIN32(WSAHOST_NOT_FOUND). This method also logs the name resolution and can use autodial to dial out for the name resolution.


Server: Requires Windows Server 2003 or Windows 2000.
Version: Requires Internet Security and Acceleration Server 2004.
Header: Declared in Wspfwext.idl.

See Also