Condividi tramite


Funzione WSCEnumNameSpaceProviders32 (ws2spi.h)

La funzione WSCEnumNameSpaceProviders32 restituisce informazioni sui provider di spazi dei nomi a 32 bit disponibili.

Nota Questa chiamata è una versione rigorosa a 32 bit di WSAEnumNameSpaceProviders da usare su piattaforme a 64 bit. Viene fornito per consentire ai processi a 64 bit di accedere ai cataloghi a 32 bit.

 

Sintassi

INT WSAAPI WSCEnumNameSpaceProviders32(
  [in, out] LPDWORD              lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOW lpnspBuffer
);

Parametri

[in, out] lpdwBufferLength

In input, il numero di byte contenuti nel buffer a cui punta lpnspBuffer. Nell'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 WSCEnumNameSpaceProviders32 deve essere sufficiente per contenere tutte le informazioni sullo spazio dei nomi.

[out] lpnspBuffer

Buffer pieno di strutture WSANAMESPACE_INFOW . Le strutture restituite si trovano consecutivamente all'inizio del buffer. Le informazioni sulle dimensioni delle variabili a cui fanno riferimento i puntatori nelle strutture puntano alle posizioni all'interno del buffer che si trovano tra la fine delle strutture a dimensione fissa e la fine del buffer. Il numero di strutture compilate è il valore restituito di WSCEnumNameSpaceProviders32.

Valore restituito

La funzione WSCEnumNameSpaceProviders32 restituisce il numero di strutture WSANAMESPACE_INFOW copiate in lpnspBuffer. In caso contrario, viene restituito il valore SOCKET_ERROR e è possibile recuperare un numero di errore specifico chiamando WSAGetLastError.

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

Commenti

WSCEnumNameSpaceProviders32 è una versione rigorosa a 32 bit di WSAEnumNameSpaceProviders. 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 SPI a 32 bit equivale alla funzione API nativa (WSAEnumNameSpaceProviders) perché non esiste alcun concetto di provider di spazi dei nomi "nascosto".

La funzione WSCEnumNameSpaceProviders32 è una funzione solo Unicode e restituisce WSANAMESPACE_INFOEXW strutture.

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

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOW

WSCInstallNameSpace32

WSCInstallNameSpaceEx32