Condividi tramite


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
WSA_NOT_ENOUGH_MEMORY
Memoria insufficiente per eseguire l'operazione.
WSAEACCES
La routine chiamante non dispone di privilegi sufficienti per accedere alle informazioni.
WSAEFAULT
Il buffer a cui punta il parametro lpServiceClassInfo è troppo piccolo per contenere un WSASERVICECLASSINFOW. L'applicazione deve passare un buffer più grande.
WSAEINVAL
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.
WSAEOPNOTSUPP
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.
WSANO_DATA
Il nome richiesto è valido, ma non sono stati trovati dati del tipo richiesto.
WSANOTINITIALISED
La WS2_32.DLL non è stata inizializzata. L'applicazione deve prima chiamare WSAStartup prima di chiamare qualsiasi funzione Windows Sockets.
WSATYPE_NOT_FOUND
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

Vedi anche

Strutture dei dati della classe di servizio

WSAInstallServiceClass

WSASERVICECLASSINFOW

WSAStartup

Funzioni Winsock

Informazioni di riferimento su Winsock