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 del servizio.

[in, out] lpdwBufSize

In caso di input, il numero di byte contenuti nel buffer a cui punta il parametro lpServiceClassInfo.

Nell'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 del servizio dal provider dello spazio dei nomi indicato per la classe di servizio specificata.

Valore restituito

Il valore restituito è zero se l'WSAGetServiceClassInfo ha avuto esito positivo. In caso contrario, viene restituito il valore SOCKET_ERROR 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 il lpProviderId, lpServiceClassId, lpdwBufSizeo parametri lpServiceClassInfo sono NULL.
WSAEOPNOTSUPP
L'operazione non è supportata per il tipo di oggetto a cui si fa riferimento. Questo errore viene restituito da alcuni provider di spazi dei nomi che non supportano l'acquisizione di informazioni sulla classe del servizio.
WSANO_DATA
Il nome richiesto è valido, ma non sono stati trovati dati del tipo richiesto.
WSANOTINITIALISED
Il WS2_32.DLL non è stato inizializzato. L'applicazione deve prima chiamare WSAStartup prima di chiamare qualsiasi funzione Windows Sockets.
WSATYPE_NOT_FOUND
Impossibile trovare la classe specificata.

Osservazioni

La funzione WSAGetServiceClassInfo recupera informazioni sulla classe del servizio da un provider di spazi dei nomi. Le informazioni sulla classe del servizio recuperate da un provider di spazi dei nomi specifico potrebbero non essere il set completo di informazioni sulla classe specificata durante l'installazione della classe del servizio. I singoli provider di spazi dei nomi sono necessari solo per conservare le informazioni sulla classe del servizio applicabili agli spazi dei nomi supportati. Per altre informazioni, vedere la sezione Service Class Data Structures.See the section Service Class Data Structures.

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [app desktop | App UWP]
server minimo supportato Windows 2000 Server [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione winsock2.h
libreria Ws2_32.lib
dll Ws2_32.dll

Vedere anche

strutture di dati della classe del servizio

WSAInstallServiceClass

WSASERVICECLASSINFOW

WSAStartup

Funzioni Winsock

di riferimento winsock