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

La función WskBind enlaza un socket a una dirección de transporte local.

Sintaxis

PFN_WSK_BIND PfnWskBind;

NTSTATUS PfnWskBind(
  [in]      PWSK_SOCKET Socket,
  [in]      PSOCKADDR LocalAddress,
            ULONG Flags,
  [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 enlaza.

[in] LocalAddress

Puntero a una estructura que especifica la dirección de transporte local a la que se va a enlazar el socket. Este puntero debe ser un puntero al tipo de estructura SOCKADDR específico que corresponde a la familia de direcciones que la aplicación WSK especificó al crear el socket.

Flags

Este parámetro está reservado para uso del sistema. Una aplicación WSK debe establecer este parámetro en cero.

[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 enlace 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

WskBind devuelve uno de los siguientes códigos NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
El socket se ha enlazado correctamente a la dirección de transporte local. El IRP se completará con el estado correcto.
STATUS_PENDING
El subsistema WSK no pudo enlazar el socket inmediatamente. El subsistema WSK completará el IRP después de que haya enlazado el socket a la dirección de transporte local. El estado de la operación de enlace se devolverá en el campo IoStatus.Status del IRP.
STATUS_FILE_FORCED_CLOSED
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.
Otros códigos de estado
Se produjo un error. El IRP se completará con el estado de error.

Comentarios

Para un socket de escucha, al llamar a la función WskBind se prepara el socket para escuchar las solicitudes de conexión entrantes en la dirección de transporte local especificada. Si una aplicación WSK especifica una dirección comodín local, el socket escuchará las solicitudes de conexión entrantes en todas las direcciones de transporte local.

Para un socket de datagrama, al llamar a la función WskBind se prepara el socket para enviar y recibir datagramas en la dirección de transporte local especificada. Si una aplicación WSK especifica una dirección comodín local, el socket recibirá datagramas en todas las direcciones de transporte locales y enviará datagramas desde la dirección de transporte local adecuada determinada por la información de enrutamiento del sistema.

Para un socket orientado a la conexión, al llamar a la función WskBind se enlaza el socket a la dirección de transporte local especificada. Se debe llamar a WskBind antes de llamar a la función WskConnect. Si una aplicación WSK especifica una dirección comodín local, la pila de red enlaza el socket a la dirección de transporte local adecuada cuando la aplicación llama a WskConnect para conectar el socket a una dirección de transporte remota. En tal situación, la dirección de transporte local viene determinada por la información de enrutamiento del sistema.

Para un socket de flujo, al llamar a la función WskBind se enlaza el socket a la dirección de transporte local especificada. Si una aplicación WSK especifica una dirección comodín local, la pila de red enlaza el socket a una dirección de transporte local disponible. Se debe llamar a WskBind antes de llamar a las funciones WskListen o WskConnect.

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

Consulte también

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect

WskSocket