WSAGetServiceClassInfoA-Funktion (winsock2.h)
Die WSAGetServiceClassInfo-Funktion ruft die Klasseninformationen (Schemas) 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 der Eingabe die Anzahl der Bytes, die im Puffer enthalten sind, auf die der lpServiceClassInfo-Parameter verweist.
Wenn die Funktion bei der Ausgabe fehlschlägt und der Fehler WSAEFAULT lautet, gibt dieser Parameter die Mindestgröße des Puffers in Bytes an, der auf lpServiceClassInfo verweist, der zum Abrufen des Datensatzes erforderlich ist.
[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 WSAGetServiceClassInfo erfolgreich war. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und eine bestimmte Fehlernummer kann durch Aufrufen von WSAGetLastError abgerufen werden.
Fehlercode | Bedeutung |
---|---|
Es war nicht genügend Arbeitsspeicher vorhanden, um den Vorgang auszuführen. | |
Die Aufrufroutine verfügt nicht über ausreichende Berechtigungen für den Zugriff auf die Informationen. | |
Der Puffer, auf den der lpServiceClassInfo-Parameter verweist, ist zu klein, um eine WSASERVICECLASSINFOW zu enthalten. Die Anwendung muss einen größeren Puffer übergeben. | |
Der angegebene Dienstklassenbezeichner oder Namespaceanbieterbezeichner ist ungültig. Dieser Fehler wird zurückgegeben, wenn die Parameter lpProviderId, lpServiceClassId, lpdwBufSize oder lpServiceClassInfoNULL sind. | |
Der Vorgang wird für den Typ des Objekts, auf das verwiesen wird, nicht unterstützt. Dieser Fehler wird von einigen Namespaceanbietern zurückgegeben, die das Abrufen von Dienstklasseninformationen nicht unterstützen. | |
Der angeforderte Name ist gültig, es wurde jedoch keine Daten mit dem angeforderten Typ gefunden. | |
Die WS2_32.DLL wurde nicht initialisiert. Die Anwendung muss zuerst WSAStartup aufrufen, bevor Windows Sockets-Funktionen aufgerufen werden. | |
Die angegebene Klasse wurde nicht gefunden. |
Hinweise
Die WSAGetServiceClassInfo-Funktion ruft Dienstklasseninformationen von einem Namespaceanbieter ab. Bei den Von einem bestimmten Namespaceanbieter abgerufenen Dienstklasseninformationen handelt es sich möglicherweise nicht um den vollständigen Satz von Klasseninformationen, der bei der Installation der Dienstklasse angegeben wurde. Einzelne Namespaceanbieter müssen nur Dienstklasseninformationen beibehalten, die für die von ihnen unterstützten Namespaces gelten. Weitere Informationen finden Sie im Abschnitt Dienstklassendatenstrukturen .
Hinweis
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
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winsock2.h |
Bibliothek | Ws2_32.lib |
DLL | Ws2_32.dll |