Funzione WSCInstallNameSpace32 (ws2spi.h)

La funzione WSCInstallNameSpace32 installa un provider di spazi dei nomi a 32 bit specificato. Per i provider in grado di supportare più spazi dei nomi, questa funzione deve essere chiamata per ogni spazio dei nomi supportato e ogni volta deve essere fornito un identificatore univoco del provider.

Nota Questa chiamata è una versione rigorosa a 32 bit di WSCInstallNameSpace da usare su piattaforme a 64 bit. Viene fornito per consentire ai processi a 64 bit di accedere ai cataloghi a 32 bit.

 

Sintassi

INT WSCInstallNameSpace32(
  [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 che contiene il percorso dell'immagine DLL del provider. La stringa osserva le regole consuete per la risoluzione del percorso: questo percorso può contenere stringhe di ambiente incorporate (ad esempio %SystemRoot%). Tali stringhe di ambiente vengono espanse ogni volta che il WS2_32.DLL deve successivamente caricare la DLL del provider per conto di un'applicazione. Dopo aver espanso tutte le stringhe di ambiente incorporate, il Ws2_32.dll passa la stringa risultante nella funzione LoadLibrary per caricare il provider in memoria. Per altre informazioni, vedere LoadLibrary.

[in] dwNameSpace

Descrittore che specifica lo spazio dei nomi supportato da questo provider.

[in] dwVersion

Descrittore che specifica il numero di versione del provider.

[in] lpProviderId

Identificatore univoco per questo provider. Questo GUID deve essere generato da Uuidgen.exe.

Valore restituito

Se non si verifica alcun errore, la funzione WSCInstallNameSpace32 restituisce NO_ERROR (zero). In caso contrario, restituisce SOCKET_ERROR se la funzione ha esito negativo ed è 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 irreversibile. Questo errore viene restituito in diverse condizioni, tra cui quanto segue: il provider è già installato, l'utente non dispone dei privilegi amministrativi necessari per scrivere nel Registro di sistema Winsock o si è verificato un errore durante la creazione o l'installazione di una voce del catalogo.
WSASYSCALLFAILURE
Chiamata di sistema che non dovrebbe mai avere esito negativo.
WSA_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile. Questo errore viene restituito quando la memoria non è sufficiente per allocare una nuova voce del catalogo.

Commenti

WSCInstallNameSpace32 è una versione a 32 bit di WSCInstallNameSpace. In un computer a 64 bit tutte le chiamate non sono specifiche a 32 bit (ad esempio, tutte le funzioni che non terminano in "32") operano sul catalogo nativo a 64 bit. I processi eseguiti in un computer a 64 bit devono usare le chiamate di funzione a 32 bit specifiche per operare su un catalogo a 32 bit e mantenere la compatibilità. Le definizioni e la semantica delle chiamate a 32 bit specifiche sono le stesse delle rispettive controparti native.

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 WSCInstallNameSpace32 riconosceranno le modifiche.

La funzione WSCInstallNameSpace32 può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se WSCInstallNameSpace32 viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata di funzione avrà esito negativo. Per i computer che eseguono Windows Vista o Windows Server 2008, questa funzione può avere esito negativo anche a causa del controllo dell'account utente. Se un'applicazione che contiene 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 impostato su requireAdministrator. Se l'applicazione in Windows Vista o Windows Server 2008 non dispone di questo file manifesto, un utente connesso come membro del gruppo Administrators diverso dall'amministratore predefinito deve quindi eseguire l'applicazione in una shell avanzata come amministratore predefinito (amministratore RunAs) affinché questa funzione abbia esito positivo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista, Windows XP Professional x64 Edition [solo app desktop]
Server minimo supportato Windows Server 2008, Windows Server 2003 x64 Edition [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ws2spi.h
Libreria Ws2_32.lib
DLL Ws2_32.dll

Vedi anche

WSCDeinstallProvider32

WSCEnumProtocols32

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace32