Condividi tramite


Funzione WSCInstallNameSpace (ws2spi.h)

La funzione WSCInstallNameSpace installa un provider di spazi dei nomi. Per i provider che possono supportare più spazi dei nomi, questa funzione deve essere chiamata per ogni spazio dei nomi supportato e un identificatore del provider univoco deve essere fornito ogni volta.

Sintassi

INT WSCInstallNameSpace(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId
);

Parametri

[in] lpszIdentifier

Puntatore a una stringa che identifica il provider associato all'identificatore univoco globale (GUID) passato nel parametro lpProviderId .

[in] lpszPathName

Puntatore a una stringa Unicode contenente il percorso di caricamento della DLL del provider. Questa stringa osserva le normali regole per la risoluzione del percorso e può contenere stringhe di ambiente incorporate (ad esempio %SystemRoot%). Tali stringhe di ambiente vengono espanse quando la Ws2_32.dll deve successivamente caricare la DLL del provider per conto di un'applicazione. Dopo aver espanso tutte le stringhe di ambiente incorporate, la Ws2_32.dll passa la stringa risultante alla funzione LoadLibrary che carica il provider in memoria. Per altre informazioni, vedere LoadLibrary.

[in] dwNameSpace

Spazio dei nomi supportato da questo provider.

[in] dwVersion

Numero di versione del provider.

[in] lpProviderId

Puntatore a un GUID per il provider. Questo GUID deve essere generato da Uuidgen.exe.

Valore restituito

Se non si verifica alcun errore, la funzione WSCInstallNameSpace restituisce NO_ERROR (zero). In caso contrario, restituisce SOCKET_ERROR se la funzione ha esito negativo e è necessario recuperare il codice di errore appropriato usando la funzione WSAGetLastError .

Codice di errore Significato
WSAEACCES
La routine chiamante non dispone di privilegi sufficienti per installare uno spazio dei nomi.
WSAEINVAL
Uno o più argomenti non sono validi.
WSANO_RECOVERY
Si è verificato un errore non recuperabile. Questo errore viene restituito in diverse condizioni, tra cui quanto segue: il provider è già installato, l'utente non ha i privilegi amministrativi necessari per scrivere nel Registro Di sistema Winsock o si è verificato un errore durante la creazione o l'installazione di una voce di catalogo.
WSASYSCALLFAILURE
Una chiamata di sistema che non deve mai avere esito negativo.
WSA_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile. Questo errore viene restituito quando è presente memoria insufficiente per allocare una nuova voce del catalogo.

Commenti

Le funzioni di configurazione dello spazio dei nomi non influiscono sulle applicazioni già in esecuzione. I provider di spazi dei nomi appena installati non saranno visibili alle applicazioni né le modifiche apportate allo stato di attivazione di un provider di spazi dei nomi. Le applicazioni avviate dopo la chiamata a WSCInstallNameSpace visualizzeranno le modifiche.

La funzione WSCInstallNameSpace può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se WSCInstallNameSpace viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata alla funzione avrà esito negativo. Per i computer in esecuzione in Windows Vista o Windows Server 2008, questa funzione può anche non riuscire a causa del controllo account utente (UAC). Se un'applicazione contenente questa funzione viene eseguita da un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito, questa chiamata avrà esito negativo a meno che l'applicazione non sia stata contrassegnata nel file manifesto con un set requestedExecutionLevel per richiedereAdministrator. Se l'applicazione in Windows Vista o Windows Server 2008 manca questo file manifesto, un utente ha eseguito l'accesso come membro del gruppo Administrators diverso dall'amministratore predefinito deve quindi eseguire l'applicazione in una shell avanzata come amministratore predefinito (amministratore RunAs) per questa funzione.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ws2spi.h
Libreria Ws2_32.lib
DLL Ws2_32.dll

Vedi anche

WSCDeinstallProvider

WSCEnumProtocols

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace