Funzione WSCDeinstallProvider32 (ws2spi.h)

La funzione WSCDeinstallProvider32 rimuove il provider di trasporto a 32 bit specificato dal database di configurazione di sistema.

Nota Questa chiamata consente a un processo a 64 bit di modificare il catalogo Winsock a 32 bit perché WSCDeinstallProvider, nei computer a 64 bit, modifica solo il catalogo Windows Sockets a 64 bit nativo.

 

Sintassi

int WSCDeinstallProvider32(
  [in]  LPGUID lpProviderId,
  [out] LPINT  lpErrno
);

Parametri

[in] lpProviderId

Puntatore a un identificatore univoco globale (GUID) per il provider. Questo valore viene archiviato all'interno di ogni struttura WSAProtocol_Info .

[out] lpErrno

Puntatore al codice di errore se la funzione ha esito negativo.

Valore restituito

Se non si verifica alcun errore, WSCDeinstallProvider32 restituisce zero. In caso contrario, restituisce SOCKET_ERROR e un codice di errore specifico è disponibile in lpErrno.

Codice di errore Significato
WSAEINVAL
Il parametro lpProviderId non specifica un provider valido.
WSAEFAULT
Il parametro lpErrno non si trova in una parte valida dello spazio indirizzi utente.
WSANO_RECOVERY
Si è verificato un errore irreversibile. Questo errore viene restituito in diverse condizioni, tra cui: l'utente non dispone dei privilegi amministrativi necessari per scrivere nel Registro di sistema Windows Sockets o si è verificato un errore durante l'apertura di una voce del catalogo.
WSA_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile. Questo errore viene restituito quando la memoria non è sufficiente per allocare una nuova voce del catalogo.

Commenti

WSCDeinstallProvider32 è una versione rigorosa a 32 bit di WSCDeinstallProvider. 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.

La funzione WSCDeinstallProvider32 rimuove le informazioni di configurazione comuni di Windows Sockets 2 per il provider a 32 bit specificato. Al termine di questa routine, le informazioni di configurazione archiviate nel Registro di sistema verranno modificate. Tuttavia, tutte le istanze di Ws2_32.dll attualmente in memoria non saranno in grado di riconoscere questa modifica.

In caso di esito positivo, WSCDeinstallProvider32 tenterà di avvisare tutte le applicazioni interessate registrate per la notifica della modifica chiamando WSAProviderConfigChange.

La funzione WSCDeinstallProvider32 può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se WSCDeinstallProvider32 viene chiamato da un utente che non è membro del gruppo Administrators, la chiamata di funzione avrà esito negativo e WSANO_RECOVERY viene restituito nel parametro lpErrno .

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.

Il chiamante di questa funzione deve rimuovere eventuali file aggiuntivi o informazioni di configurazione specifiche del provider di servizi necessarie per disinstallare completamente il provider di servizi.

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

WSAProviderConfigChange

WSCDeinstallProvider

WSCEnumProtocols32

WSCInstallProvider64_32