Freigeben über


WSAGetServiceClassInfoA-Funktion (winsock2.h)

Die WSAGetServiceClassInfo Funktion ruft die Klasseninformationen (Schema) für eine angegebene Dienstklasse von einem angegebenen Namespaceanbieter ab.

Syntax

INT WSAAPI WSAGetServiceClassInfoA(
  [in]      LPGUID                 lpProviderId,
  [in]      LPGUID                 lpServiceClassId,
  [in, out] LPDWORD                lpdwBufSize,
  [out]     LPWSASERVICECLASSINFOA lpServiceClassInfo
);

Parameter

[in] lpProviderId

Ein Zeiger auf eine GUID, die einen bestimmten Namespaceanbieter identifiziert.

[in] lpServiceClassId

Ein Zeiger auf eine GUID, die die Dienstklasse identifiziert.

[in, out] lpdwBufSize

Bei eingaben die Anzahl der im Puffer enthaltenen Bytes, auf die der parameter lpServiceClassInfo verweist.

Wenn die Funktion fehlschlägt und der Fehler WSAEFAULTist, gibt dieser Parameter die Mindestgröße des Puffers in Byte an, der auf lpServiceClassInfo zum Abrufen des Datensatzes verweist.

[out] lpServiceClassInfo

Ein Zeiger auf eine WSASERVICECLASSINFO Struktur, die die Dienstklasseninformationen des angegebenen Namespaceanbieters für die angegebene Dienstklasse enthält.

Rückgabewert

Der Rückgabewert ist null, wenn die WSAGetServiceClassInfo erfolgreich war. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und eine bestimmte Fehlernummer kann durch Aufrufen WSAGetLastErrorabgerufen werden.

Fehlercode Bedeutung
WSA_NOT_ENOUGH_MEMORY
Zum Ausführen des Vorgangs war nicht genügend Arbeitsspeicher vorhanden.
WSAEACCES
Die Anrufroutine verfügt nicht über ausreichende Berechtigungen für den Zugriff auf die Informationen.
WSAEFAULT-
Der Puffer, auf den der lpServiceClassInfo--Parameter verweist, ist zu klein, um eine WSASERVICECLASSINFOW zu enthalten. Die Anwendung muss einen größeren Puffer übergeben.
WSAEINVAL-
Der angegebene Dienstklassenbezeichner oder Namespaceanbieterbezeichner ist ungültig. Dieser Fehler wird zurückgegeben, wenn die parameter lpProviderId, lpServiceClassId, lpdwBufSizeoder lpServiceClassInfo Parameter NULLsind.
WSAEOPNOTSUPP
Der Vorgang wird für den Objekttyp, auf den verwiesen wird, nicht unterstützt. Dieser Fehler wird von einigen Namespaceanbietern zurückgegeben, die das Abrufen von Dienstklasseninformationen nicht unterstützen.
WSANO_DATA
Der angeforderte Name ist gültig, aber es wurden keine Daten des angeforderten Typs gefunden.
WSANOTINITIALISIERT
Die WS2_32.DLL wurde nicht initialisiert. Die Anwendung muss zuerst WSAStartup- aufrufen, bevor Sie Windows Sockets-Funktionen aufrufen.
WSATYPE_NOT_FOUND
Die angegebene Klasse wurde nicht gefunden.

Bemerkungen

Die WSAGetServiceClassInfo Funktion ruft Dienstklasseninformationen von einem Namespaceanbieter ab. Die Dienstklasseninformationen, die von einem bestimmten Namespaceanbieter abgerufen wurden, sind möglicherweise nicht die vollständigen Klasseninformationen, die angegeben wurden, als die Dienstklasse installiert wurde. Einzelne Namespaceanbieter müssen nur Dienstklasseninformationen aufbewahren, die für die von ihnen unterstützten Namespaces gelten. Weitere Informationen finden Sie im Abschnitt Dienstklassendatenstrukturen.

Anmerkung

Der winsock2.h-Header definiert WSAGetServiceClassInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- winsock2.h
Library Ws2_32.lib
DLL- Ws2_32.dll

Siehe auch

Dienstklassendatenstrukturen

WSAInstallServiceClass-

WSASERVICECLASSINFOW-

WSAStartup-

Winsock-Funktionen

Winsock Reference