Compartir a través de


PFN_WSK_GET_ADDRESS_INFO función de devolución de llamada (wsk.h)

La función WskGetAddressInfo realiza la traducción independiente del protocolo de un nombre de host a una dirección de transporte.

Sintaxis

PFN_WSK_GET_ADDRESS_INFO PfnWskGetAddressInfo;

NTSTATUS PfnWskGetAddressInfo(
  [in]           PWSK_CLIENT Client,
  [in, optional] PUNICODE_STRING NodeName,
  [in, optional] PUNICODE_STRING ServiceName,
  [in, optional] ULONG NameSpace,
  [in, optional] GUID *Provider,
  [in, optional] PADDRINFOEXW Hints,
  [out]          PADDRINFOEXW *Result,
  [in, optional] PEPROCESS OwningProcess,
  [in, optional] PETHREAD OwningThread,
  [in, out]      PIRP Irp
)
{...}

Parámetros

[in] Client

[in] Puntero a una estructura WSK_CLIENT que se devolvió a través del parámetro WskProviderNpi del Función WskCaptureProviderNPI .

[in, optional] NodeName

[in] Puntero opcional a una estructura UNICODE_STRING que contiene una cadena Unicode que representa un nombre de host (nodo) o una cadena de dirección de host numérica. Para el protocolo de Internet, la cadena de dirección de host numérica es una dirección IPv4 decimal con puntos o una dirección hexadecimal IPv6.

[in, optional] ServiceName

[in] Puntero opcional a una estructura UNICODE_STRING que contiene una cadena Unicode que representa un nombre de servicio o un número de puerto.

[in, optional] NameSpace

[in] Identificador de espacio de nombres opcional que especifica los proveedores de espacios de nombres que se consultan. Solo se pueden consultar correctamente los proveedores de espacios de nombres que admiten el espacio de nombres especificado.

[in, optional] Provider

[in] Puntero opcional a un GUID de un proveedor de espacio de nombres específico que se va a consultar.

[in, optional] Hints

[in] Puntero opcional a una estructura ADDRINFOEXW que proporciona sugerencias sobre el tipo de socket que admite el llamador.

La estructura ADDRINFOEXW se define en el encabezado Ws2def.h. Es idéntica a la
estructura addrinfoex .

Importante El archivo de encabezado Ws2def.h se incluye automáticamente en Wsk.h. No use Ws2def.h directamente.
 

[out] Result

[out] Puntero a un búfer asignado por el autor de la llamada que recibe una lista vinculada de una o varias estructuras ADDRINFOEXW que representan información de respuesta sobre el host.

Nota El llamador debe llamar a la función WskFreeAddressInfo para liberar este puntero.
 
La estructura ADDRINFOEXW se define en el encabezado Ws2def.h. Es idéntico a la estructura addrinfoex .
Importante El archivo de encabezado Ws2def.h se incluye automáticamente en Wsk.h. No use Ws2def.h directamente.
 

[in, optional] OwningProcess

[in] Puntero opcional al proceso desde el que la función recupera el contexto de seguridad. Este contexto de seguridad indica el contexto de la cuenta de usuario en el que la función procesa la solicitud de resolución de nombres.

Si este parámetro es NULL, la función procesa la solicitud de resolución de nombres en el contexto de una cuenta local predefinida con privilegios mínimos.

Si este parámetro no es NULL y un token de suplantación está en vigor para el subproceso que realiza la llamada, esta función produce un error y devuelve STATUS_INVALID_PARAMETER.

[in, optional] OwningThread

[in] Puntero opcional al subproceso desde el que la función recupera el contexto de seguridad. Este parámetro solo puede ser distinto de NULL si OwningProcess no es NULL. De lo contrario, esta función produce un error y devuelve STATUS_INVALID_PARAMETER.

Si este parámetro no es NULL y un token de suplantación está en vigor para el subproceso que realiza la llamada, esta función produce un error y devuelve STATUS_INVALID_PARAMETER.

[in, out] Irp

[in/out] Puntero a un paquete de solicitud de E/S (IRP) que se usará para completar la solicitud de forma asincrónica. Tras la finalización de la solicitud, Irp ->Iostatus.Information contendrá el código de estado devuelto.

Valor devuelto

WskGetAddressInfo devuelve uno de los siguientes códigos NTSTATUS:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Se especificó un parámetro no válido.
STATUS_NO_MATCH
No se puede resolver el nombre de host.
STATUS_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente. Si la aplicación WSK especificó un puntero a un IRP en el Parámetro Irp , el IRP se completará con un estado correcto.
STATUS_PENDING
El subsistema WSK no pudo completar la función inmediatamente. El subsistema WSK completará el IRP una vez completada la operación de control. El estado de la operación de control se devolverá en el campo IoStatus.Status del IRP.
Otros códigos de estado
Se produjo un error. El IRP se completará con el estado de error.

Comentarios

El proceso al que apunta el parámetro OwningProcess o el subproceso al que apunta el proceso OwningThread indica el contexto de seguridad de esta función. La cuenta de usuario indicada por el contexto de seguridad indica el contexto de la solicitud de resolución de nombres de la función.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 7 y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Universal
Encabezado wsk.h (incluya Wsk.h)
IRQL PASSIVE_LEVEL

Consulte también

UNICODE_STRING

WSK_CLIENT

WskCaptureProviderNPI

WskFreeAddressInfo