Compartir a través de


función DnsQuery_W (windns.h)

El tipo de función dnsQuery es la interfaz de consulta genérica para el espacio de nombres DNS y proporciona a los desarrolladores de aplicaciones una interfaz de resolución de consultas DNS. Al igual que muchas funciones DNS, el tipo de función DnsQuery se implementa en varios formularios para facilitar la codificación de caracteres diferente. En función de la codificación de caracteres implicada, use una de las funciones siguientes:

  • DnsQuery_A (para codificación ANSI)
  • DnsQuery_W (para la codificación Unicode)
  • DnsQuery_UTF8 (para codificación UTF-8)
Windows 8: la función DnsQueryEx debe usarse si una aplicación requiere consultas asincrónicas en el espacio de nombres DNS.

Sintaxis

DNS_STATUS DnsQuery_W(
  [in]                PCWSTR      pszName,
  [in]                WORD        wType,
  [in]                DWORD       Options,
  [in, out, optional] PVOID       pExtra,
  [out, optional]     PDNS_RECORD *ppQueryResults,
  [out, optional]     PVOID       *pReserved
);

Parámetros

[in] pszName

Puntero a una cadena que representa el nombre DNS que se va a consultar.

[in] wType

Valor que representa el registro de recursos (RR)tipo de registro DNS que se consulta. wType determina el formato de los datos a los que apunta ppQueryResultsSet. Por ejemplo, si el valor de wType es DNS_TYPE_A, el formato de los datos a los que apunta ppQueryResultsSet es DNS_A_DATA.

[in] Options

Valor que contiene un mapa de bits de opciones de consulta dns usar en la consulta DNS. Las opciones se pueden combinar y todas las opciones invalidan DNS_QUERY_STANDARD.

[in, out, optional] pExtra

Este parámetro está reservado para uso futuro y debe establecerse en NULL.

[out, optional] ppQueryResults

Opcional. Puntero a un puntero que apunta a la lista de RR que componen la respuesta. Para obtener más información, vea la sección Comentarios.

[out, optional] pReserved

Este parámetro está reservado para uso futuro y debe establecerse en NULL.

Valor devuelto

Devuelve la confirmación correcta tras la finalización correcta. De lo contrario, devuelve el código de error específico de DNS adecuado, tal como se define en Winerror.h.

Observaciones

Las aplicaciones que llaman al DnsQuery función crean una consulta mediante un nombre DNS completo y un tipo de registro de recursos (RR) y establecen opciones de consulta en función del tipo de servicio deseado. Cuando se establece la opción DNS_QUERY_STANDARD, DNS usa la caché del solucionador, consulta primero con UDP, vuelve a intentarlo con TCP si se trunca la respuesta y solicita que el servidor realice una resolución recursiva en nombre del cliente para resolver la consulta.

Las aplicaciones deben liberar conjuntos rr devueltos con la función dnsRecordListFree .

Nota Al llamar a uno de los tipos de función de DnsQuery, tenga en cuenta que un servidor DNS puede devolver varios registros en respuesta a una consulta. Un equipo que tenga un host múltiple, por ejemplo, recibirá varios registros A para la misma dirección IP. El autor de la llamada debe usar tantos de los registros devueltos como sea necesario.
 
Tenga en cuenta el siguiente escenario, en el que varios registros devueltos requieren actividad adicional en nombre de la aplicación: se realiza una llamada de función DnsQuery_A para un equipo de host múltiple y la aplicación encuentra que la dirección asociada al primer registro A no responde. A continuación, la aplicación debe intentar usar otras direcciones IP especificadas en los registros A (adicionales) devueltos desde la llamada de función de DnsQuery_A.

Si el parámetro lpstrName de se establece en null, la función dnsQuery de produce un error INVALID_PARAMETER.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de windns.h
biblioteca de Dnsapi.lib
DLL de Dnsapi.dll

Consulte también

DNS_RECORD

DnsQueryEx

DnsRecordListFree