Condividi tramite


PFN_WSK_BIND funzione di callback (wsk.h)

La funzione WskBind associa un socket a un indirizzo di trasporto locale.

Sintassi

PFN_WSK_BIND PfnWskBind;

NTSTATUS PfnWskBind(
  [in]      PWSK_SOCKET Socket,
  [in]      PSOCKADDR LocalAddress,
            ULONG Flags,
  [in, out] PIRP Irp
)
{...}

Parametri

[in] Socket

Puntatore a una struttura WSK_SOCKET che specifica l'oggetto socket per il socket associato.

[in] LocalAddress

Puntatore a una struttura che specifica l'indirizzo di trasporto locale a cui associare il socket. Questo puntatore deve essere un puntatore al tipo di struttura SOCKADDR specifico che corrisponde alla famiglia di indirizzi specificata dall'applicazione WSK al momento della creazione del socket.

Flags

Questo parametro è riservato per l'uso del sistema. Un'applicazione WSK deve impostare questo parametro su zero.

[in, out] Irp

Puntatore a un IRP allocato dal chiamante usato dal sottosistema WSK per completare l'operazione di associazione in modo asincrono. Per altre informazioni sull'uso dei runtime di integrazione con le funzioni WSK, vedere Using IRPs with Winsock Kernel Functions .For more information about using IRPs with WSK functions, see Using IRPs with Winsock Kernel Functions.

Valore restituito

WskBind restituisce uno dei codici NTSTATUS seguenti:

Codice restituito Descrizione
STATUS_SUCCESS
Il socket è stato associato correttamente all'indirizzo di trasporto locale. L'IRP verrà completato con lo stato di esito positivo.
STATUS_PENDING
Impossibile associare immediatamente il socket al sottosistema WSK. Il sottosistema WSK completerà l'IRP dopo aver associato il socket all'indirizzo di trasporto locale. Lo stato dell'operazione di associazione verrà restituito nel campo IoStatus.Status dell'IRP.
STATUS_FILE_FORCED_CLOSED
Il socket non è più funzionale. L'IRP verrà completato con lo stato di errore. L'applicazione WSK deve chiamare la funzione WskCloseSocket per chiudere il socket appena possibile.
Altri codici di stato
Si è verificato un errore. L'IRP verrà completato con lo stato di errore.

Commenti

Per un socket di ascolto, la chiamata alla funzione WskBind prepara il socket per l'ascolto delle richieste di connessione in ingresso sull'indirizzo di trasporto locale specificato. Se un'applicazione WSK specifica un indirizzo con caratteri jolly locali, il socket sarà in ascolto delle richieste di connessione in ingresso su tutti gli indirizzi di trasporto locale.

Per un socket di datagram, la chiamata alla funzione WskBind prepara il socket per inviare e ricevere datagrammi sull'indirizzo di trasporto locale specificato. Se un'applicazione WSK specifica un indirizzo con caratteri jolly locali, il socket riceverà i datagrammi su tutti gli indirizzi di trasporto locale e invierà datagrammi dall'indirizzo di trasporto locale appropriato determinato dalle informazioni di routing del sistema.

Per un socket orientato alla connessione, la chiamata alla funzione WskBind associa il socket all'indirizzo di trasporto locale specificato. WskBind deve essere chiamato prima di chiamare la funzione WskConnect . Se un'applicazione WSK specifica un indirizzo con caratteri jolly locali, lo stack di rete associa il socket all'indirizzo di trasporto locale appropriato quando l'applicazione chiama WskConnect per connettere il socket a un indirizzo di trasporto remoto. In tale situazione, l'indirizzo del trasporto locale è determinato dalle informazioni di routing del sistema.

Per un socket di flusso, la chiamata alla funzione WskBind associa il socket all'indirizzo di trasporto locale specificato. Se un'applicazione WSK specifica un indirizzo con caratteri jolly locali, lo stack di rete associa il socket a un indirizzo di trasporto locale disponibile. WskBind deve essere chiamato prima di chiamare le funzioni WskListen o WskConnect .

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione wsk.h (include Wsk.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect

WskSocket