Condividi tramite


Installazione di un provider di servizi SAN

Un provider di servizi SAN viene in genere installato come provider di servizi Windows Sockets di base che si interfaccia con l'opzione Windows Sockets. Anche se un provider di servizi SAN può essere installato per l'uso diretto da un'applicazione, la tecnologia Windows Sockets Direct non supporta l'uso di un provider di servizi SAN in questo modo. Un provider di servizi SAN installato per l'uso diretto da un'applicazione esporta le caratteristiche della famiglia di indirizzi e del protocollo nativo anziché quelle del protocollo TCP/IP.

Un provider di servizi SAN esposto indirettamente alle applicazioni tramite l'opzione Windows Sockets deve impostare il flag di PFL_HIDDEN nel membro dwProviderFlagsdella struttura WSAPROTOCOL_INFOW del provider di servizi SAN. Per installare il provider di servizi SAN nel sistema operativo, il meccanismo di installazione del provider di servizi SAN passa questa struttura in una chiamata alla funzione WSCInstallProvider . Il meccanismo di installazione del provider di servizi SAN può essere ad esempio un programma di installazione o una funzione esportata dal provider di servizi SAN e chiamata da una direttiva file INF.

Il meccanismo di installazione del provider di servizi SAN deve aggiungere un valore di tipo REG_BINARY alla chiave seguente nel Registro di sistema prima che il provider di servizi SAN possa essere rilevato dall'opzione Windows Sockets come provider di servizi Windows Sockets di base:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock\
Parameters\TCP on SAN

Questo valore contiene la rappresentazione binaria del valore nel membro ProviderId dalla struttura WSAPROTOCOL_INFOW. Questo valore registra un provider di servizi SAN con l'opzione Windows Sockets. Questo membro contiene l'identificatore univoco globale (GUID) assegnato al provider di servizi SAN.

Il fornitore può anche assegnare un nome univoco che rappresenta questo GUID, ad esempio:

  • Nome marchiato del prodotto

  • Valore numerico univoco

  • Rappresentazione testuale del GUID

Per registrare un provider di servizi SAN

  1. L'opzione chiama la funzione WSAProviderConfigChange per rilevare gli eventi di installazione e rimozione del provider Windows Sockets.

  2. Dopo l'installazione di un nuovo provider di servizi Windows Sockets, il commutatore chiama la funzione WSCEnumProtocols per eseguire query sul catalogo di Windows Sockets e sull'elenco dei provider di servizi SAN nel Registro di sistema per determinare se il nuovo provider di servizi controlla una SAN. Per altre informazioni su WSCEnumProtocols, vedere Windows SDK.

  3. Se l'opzione rileva un nuovo provider di servizi SAN, l'opzione inizializza tale provider di servizi come descritto in Inizializzazione di un provider di servizi SAN.

  4. Il commutatore chiama anche le funzioni seguenti del provider di servizi SAN appena installato dopo che il provider di servizi SAN viene inizializzato per il servizio qualsiasi socket di ascolto esistente associato all'indirizzo IP jolly (0.0.0.0.0) (l'indirizzo IP con caratteri jolly implica che il provider di servizi SAN deve accettare richieste di connessione in ingresso da tutte le schede di interfaccia di rete che controlla):

    WSPSocket
    Crea un socket

    WSPBind
    Associa il socket all'indirizzo IP con caratteri jolly

    WSPListen
    Imposta il socket per riconoscere e accodare le richieste di connessione in ingresso fino a quando non viene accettato dal commutatore

    Nota A partire da Windows Vista, l'indirizzo IP con caratteri jolly 0.0.0.0 non è disponibile. A partire da Windows Vista, se la chiave del Registro di sistema IPAutoconfigurationEnabled è impostata su un valore pari a 0, l'assegnazione automatica di indirizzi IP è disabilitata e non viene assegnato alcun indirizzo IP. In questo caso, lo strumento della riga di comando ipconfig non visualizzerà un indirizzo IP. Se la chiave è impostata su un valore diverso da zero, viene assegnato automaticamente un indirizzo IP. Questa chiave può trovarsi nei percorsi seguenti nel Registro di sistema:

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\IPAutoconfigurationEnabled

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\Interfaces\GUID\IPAutoconfigurationEnabled