Condividi tramite


Funzione WSCEnumNameSpaceProvidersEx32 (ws2spi.h)

La funzione WSCEnumNameSpaceProvidersEx32 recupera informazioni sui provider di spazi dei nomi a 32 bit disponibili.

Sintassi

INT WSAAPI WSCEnumNameSpaceProvidersEx32(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW lpnspBuffer
);

Parametri

[in, out] lpdwBufferLength

In input il numero di byte contenuti nel buffer a cui punta lpnspBuffer. In output (se la funzione ha esito negativo e l'errore è WSAEFAULT), il numero minimo di byte da allocare per il buffer lpnspBuffer per consentire il recupero di tutte le informazioni richieste. Il buffer passato a WSCEnumNameSpaceProvidersEx32 deve essere sufficiente per contenere tutte le informazioni sullo spazio dei nomi.

[out] lpnspBuffer

Buffer riempito con strutture WSANAMESPACE_INFOEXW . Le strutture restituite si trovano consecutivamente alla testa del buffer. Le informazioni sulle dimensioni delle variabili a cui fanno riferimento i puntatori nelle strutture puntano alle posizioni all'interno del buffer compreso tra la fine delle strutture di dimensioni fisse e la fine del buffer. Il numero di strutture compilate è il valore restituito di WSCEnumNameSpaceProvidersEx32.

Valore restituito

La funzione WSCEnumNameSpaceProvidersEx32 restituisce il numero di strutture WSANAMESPACE_INFOEXW copiate in lpnspBuffer. In caso contrario, il valore SOCKET_ERROR viene restituito e un numero di errore specifico può essere recuperato chiamando WSAGetLastError.

Codice di errore Significato
WSAEFAULT
La lunghezza del buffer era troppo piccola per ricevere tutte le strutture WSANAMESPACE_INFOEXW pertinenti e le informazioni associate o il parametro lpnspBuffer era un puntatore **NULL**. Quando viene restituito questo errore, la lunghezza del buffer richiesta viene restituita nel parametro lpdwBufferLength .
WSANOTINITIALISED
La WS2_32.DLL non è stata inizializzata. L'applicazione deve prima chiamare WSAStartup prima di chiamare qualsiasi funzione Windows Sockets.
WSA_NOT_ENOUGH_MEMORY
Memoria insufficiente per eseguire l'operazione.

Commenti

WSCEnumNameSpaceProvidersEx32 è una versione rigorosamente a 32 bit di WSAEnumNameSpaceProvidersEx. 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.

Attualmente, l'unico spazio dei nomi incluso in Windows che usa le informazioni nel membro ProviderSpecific della struttura WSANAMESPACE_INFOEXW sono provider di spazi dei nomi per lo spazio dei nomi NS_EMAIL. Il formato del membro ProviderSpecific per un provider di spazi dei nomi NS_EMAIL è una struttura NAPI_PROVIDER_INSTALLATION_BLOB .

La funzione SPI a 32 bit equivale alla funzione API nativa (WSAEnumNameSpaceProvidersEx) perché non esiste alcun concetto di provider di spazi dei nomi "nascosto".

Il BLOB di dati specifico del provider associato alla voce dello spazio dei nomi passato al parametro lpProviderInfo alla funzione WSCInstallNameSpaceEx32 può essere sottoposto a query usando la funzione WSCEnumNameSpaceProvidersEx32 .

Requisiti

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

Vedi anche

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProvidersEx

WSANAMESPACE_INFOEXW

WSCEnumNameSpaceProviders32

WSCInstallNameSpaceEx32