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 |
---|---|
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 . | |
La WS2_32.DLL non è stata inizializzata. L'applicazione deve prima chiamare WSAStartup prima di chiamare qualsiasi funzione Windows Sockets. | |
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 |