Funzione WSAGetServiceClassInfoA (winsock2.h)
La funzione WSAGetServiceClassInfo recupera le informazioni sulla classe (schema) relative a una classe di servizio specificata da un provider di spazi dei nomi specificato.
Sintassi
INT WSAAPI WSAGetServiceClassInfoA(
[in] LPGUID lpProviderId,
[in] LPGUID lpServiceClassId,
[in, out] LPDWORD lpdwBufSize,
[out] LPWSASERVICECLASSINFOA lpServiceClassInfo
);
Parametri
[in] lpProviderId
Puntatore a un GUID che identifica un provider di spazi dei nomi specifico.
[in] lpServiceClassId
Puntatore a un GUID che identifica la classe di servizio.
[in, out] lpdwBufSize
In input, il numero di byte contenuti nel buffer a cui punta il parametro lpServiceClassInfo .
In output, se la funzione ha esito negativo e l'errore è WSAEFAULT, questo parametro specifica le dimensioni minime, in byte, del buffer a cui punta lpServiceClassInfo necessario per recuperare il record.
[out] lpServiceClassInfo
Puntatore a una struttura WSASERVICECLASSINFO che contiene le informazioni sulla classe di servizio dal provider dello spazio dei nomi indicato per la classe di servizio specificata.
Valore restituito
Il valore restituito è zero se WSAGetServiceClassInfo ha avuto esito positivo. In caso contrario, il valore SOCKET_ERROR viene restituito e un numero di errore specifico può essere recuperato chiamando WSAGetLastError.
Codice di errore | Significato |
---|---|
Memoria insufficiente per eseguire l'operazione. | |
La routine chiamante non dispone di privilegi sufficienti per accedere alle informazioni. | |
Il buffer a cui punta il parametro lpServiceClassInfo è troppo piccolo per contenere un WSASERVICECLASSINFOW. L'applicazione deve passare un buffer più grande. | |
L'identificatore della classe di servizio o l'identificatore del provider dello spazio dei nomi specificato non è valido. Questo errore viene restituito se i parametri lpProviderId, lpServiceClassId, lpdwBufSize o lpServiceClassInfo sono NULL. | |
L'operazione non è supportata per il tipo di oggetto a cui viene fatto riferimento. Questo errore viene restituito da alcuni provider di spazi dei nomi che non supportano l'acquisizione di informazioni sulla classe di servizio. | |
Il nome richiesto è valido, ma non sono stati trovati dati del tipo richiesto. | |
La WS2_32.DLL non è stata inizializzata. L'applicazione deve prima chiamare WSAStartup prima di chiamare qualsiasi funzione Windows Sockets. | |
La classe specificata non è stata trovata. |
Commenti
La funzione WSAGetServiceClassInfo recupera le informazioni sulla classe di servizio da un provider di spazi dei nomi. Le informazioni sulla classe di servizio recuperate da un determinato provider di spazi dei nomi potrebbero non essere il set completo di informazioni sulla classe specificate quando è stata installata la classe di servizio. I singoli provider di spazi dei nomi sono necessari solo per conservare le informazioni sulla classe di servizio applicabili agli spazi dei nomi supportati. Per altre informazioni, vedere la sezione Strutture dati della classe di servizio .
Nota
L'intestazione winsock2.h definisce WSAGetServiceClassInfo 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
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winsock2.h |
Libreria | Ws2_32.lib |
DLL | Ws2_32.dll |