PFN_WSK_GET_REMOTE_ADDRESS función de devolución de llamada (wsk.h)
La función WskGetRemoteAddress recupera la dirección de transporte remota de un socket de flujo o orientado a la conexión.
Sintaxis
PFN_WSK_GET_REMOTE_ADDRESS PfnWskGetRemoteAddress;
NTSTATUS PfnWskGetRemoteAddress(
[in] PWSK_SOCKET Socket,
[out] PSOCKADDR RemoteAddress,
[in, out] PIRP Irp
)
{...}
Parámetros
[in] Socket
Puntero a una estructura de WSK_SOCKET que especifica el objeto de socket para el socket que se está consultando.
[out] RemoteAddress
Puntero a un búfer asignado por el autor de la llamada que recibe la dirección de transporte remota del socket. El búfer debe encontrarse en memoria no paginada. El búfer también debe ser lo suficientemente grande como para contener el tipo de estructura SOCKADDR específico que corresponde a la familia de direcciones que especificó la aplicación WSK cuando creó el socket.
Para un socket orientado a la conexión que la aplicación WSK aceptó en un socket de escucha, la familia de direcciones es la misma que la familia de direcciones que la aplicación WSK especificó al crear el socket de escucha.
[in, out] Irp
Puntero a un IRP asignado por el autor de la llamada que usa el subsistema WSK para completar la operación de recuperación de forma asincrónica. Para obtener más información sobre el uso de IRP con funciones WSK, consulte Uso de IRP con funciones del kernel de Winsock.
Valor devuelto
WskGetRemoteAddress devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
|
La dirección de transporte remota del socket se recuperó correctamente. El IRP se completará con el estado correcto. |
|
El subsistema WSK no pudo recuperar la dirección de transporte remota del socket inmediatamente. El subsistema WSK completará el IRP después de recuperar la dirección de transporte remota del socket. El estado de la operación de recuperación se devolverá en el campo IoStatus.Status del IRP. |
|
El socket no está conectado a una dirección de transporte remota. El IRP se completará con el estado de error. |
|
El socket ya no es funcional. El IRP se completará con el estado de error. La aplicación WSK debe llamar a la función WskCloseSocket para cerrar el socket lo antes posible. |
|
Se produjo un error. El IRP se completará con el estado de error. |
Comentarios
Una aplicación WSK puede llamar a la función WskGetRemoteAddress solo en un socket orientado a la conexión o de flujo que se ha conectado a una dirección de transporte remota. Un socket de flujo está conectado a una dirección de transporte remota mediante una llamada a la función WskConnect . Un socket orientado a la conexión está conectado a una dirección de transporte remota de una de las siguientes maneras:
- La aplicación WSK llama a la función WskConnect .
- La aplicación WSK crea, enlaza y conecta el socket mediante una llamada a la función WskSocketConnect .
- El subsistema WSK conecta el socket cuando la aplicación WSK acepta una solicitud de conexión entrante en un socket de escucha.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | wsk.h (incluya Wsk.h) |
IRQL | <= DISPATCH_LEVEL |