Funzione WSCEnableNSProvider32 (ws2spi.h)

La funzione WSCEnableNSProvider32 abilita o disabilita un provider di spazi dei nomi a 32 bit specificato. È destinato a fornire all'utente finale la possibilità di modificare lo stato dei provider di spazi dei nomi.

Nota Questa chiamata è una versione strettamente a 32 bit di WSCEnableNSProvider da usare nei computer a 64 bit. Viene fornito per consentire ai processi a 64 bit di accedere ai cataloghi a 32 bit.

 

Sintassi

INT WSCEnableNSProvider32(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

Parametri

[in] lpProviderId

Puntatore a un identificatore univoco globale (GUID) per il provider di spazi dei nomi.

[in] fEnable

Valore booleano che, se TRUE, il provider di spazi dei nomi è impostato sullo stato attivo. Se FALSE, il provider di spazi dei nomi è disabilitato e non sarà disponibile per le operazioni di query o la registrazione del servizio.

Valore restituito

Se non si verifica alcun errore, la funzione WSCEnableNSProvider32 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
WSAEFAULT
Il parametro lpProviderId punta alla memoria che non si trova in una parte valida dello spazio degli indirizzi utente.
WSAEINVAL
L'identificatore del provider di spazi dei nomi specificato non è valido.
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

La funzione WSCEnableNSProvider32 deve essere usata per modificare lo stato dei provider di spazi dei nomi. Un fornitore di software indipendente (ISV) non deve normalmente attivare un altro provider di spazi dei nomi ISV per attivare il proprio. La scelta deve essere lasciata all'utente.

WSCEnableNSProvider32 è una versione rigorosamente a 32 bit di WSCEnableNSProvider. In un computer a 64 bit tutte le chiamate non in particolare a 32 bit (ad esempio tutte le funzioni che non terminano in "32") operano nel catalogo a 64 bit nativo. 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 uguali a quelle 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 WSCEnableNSProvider32 visualizzeranno le modifiche.

La funzione WSCEnableNSProvider32 può essere chiamata solo da un utente connesso come membro del gruppo Administrators. Se WSCEnableNSProvider32 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 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

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32