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 |
---|---|
Zum Ausführen des Vorgangs war nicht genügend Arbeitsspeicher vorhanden. | |
Die Anrufroutine 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, lpdwBufSizeoder lpServiceClassInfo Parameter NULLsind. | |
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. | |
Der angeforderte Name ist gültig, aber es wurden keine Daten des angeforderten Typs gefunden. | |
Die WS2_32.DLL wurde nicht initialisiert. Die Anwendung muss zuerst WSAStartup- aufrufen, bevor Sie Windows Sockets-Funktionen aufrufen. | |
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 |