Condividi tramite


Funzione WSAEnumNameSpaceProvidersExA (winsock2.h)

La funzione WSAEnumNameSpaceProvidersEx recupera informazioni sui provider di spazi dei nomi disponibili.

Sintassi

INT WSAAPI WSAEnumNameSpaceProvidersExA(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXA 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 WSAEnumNameSpaceProvidersEx deve essere sufficiente per contenere tutte le informazioni sullo spazio dei nomi.

[out] lpnspBuffer

Buffer riempito con strutture WSANAMESPACE_INFOEX . 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 WSAEnumNameSpaceProvidersEx.

Valore restituito

La funzione WSAEnumNameSpaceProvidersEx restituisce il numero di strutture WSANAMESPACE_INFOEX 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
Il parametro lpnspBuffer era un puntatore NULL o la lunghezza del buffer, lpdwBufferLength, era troppo piccolo per ricevere tutte le strutture WSANAMESPACE_INFOEX pertinenti e le informazioni associate. 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

La funzione WSAEnumNameSpaceProvidersEx è una versione avanzata della funzione WSAEnumNameSpaceProviders . Il BLOB di dati specifico del provider associato alla voce dello spazio dei nomi passato al parametro lpProviderInfo alla funzione WSCInstallNameSpaceEx può essere sottoposto a query usando la funzione WSAEnumNameSpaceProvidersEx .

Attualmente, l'unico provider di spazi dei nomi incluso in Windows che imposta informazioni nel membro ProviderSpecific della struttura WSANAMESPACE_INFOEX è il provider di NS_EMAIL . Il formato del membro ProviderSpecific per un provider di spazi dei nomi NS_EMAIL è una struttura NAPI_PROVIDER_INSTALLATION_BLOB .

Quando viene definito UNICODE o _UNICODE, WSAEnumNameSpaceProvidersEx viene definito in WSAEnumNameSpaceProvidersExW, la versione Unicode di questa funzione. Il parametro lpnspBuffer viene definito per il tipo di dati LPSAWSANAMESPACE_INFOEXW e le strutture di WSANAMESPACE_INFOEXW vengono restituite in caso di esito positivo.

Quando UNICODE o _UNICODE non è definito, WSAEnumNameSpaceProvidersEx è definito in WSAEnumNameSpaceProvidersExA, la versione ANSI di questa funzione. Il parametro lpnspBuffer viene definito per il tipo di dati LPSAWSANAMESPACE_INFOEXA e le strutture WSANAMESPACE_INFOEXA vengono restituite in caso di esito positivo.

Windows 8.1 e Windows Server 2012 R2: la funzione WSAEnumNameSpaceProvidersExW è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e versioni successive.

Nota

L'intestazione winsock2.h definisce WSAEnumNameSpaceProvidersEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1, Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winsock2.h
Libreria Ws2_32.lib
DLL Ws2_32.dll

Vedi anche

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32