LPNSPGETSERVICECLASSINFO-Rückruffunktion (ws2spi.h)
Die NSPGetServiceClassInfo-Funktion ruft alle relevanten Klasseninformationen (Schema) ab, die sich auf den Namespaceanbieter beziehen. Dieser Aufruf ruft alle namespacespezifischen Informationen ab, die allen Instanzen des Diensts gemeinsam sind, einschließlich Verbindungsinformationen für SAP oder Portinformationen für SAP oder TCP.
Syntax
LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;
INT Lpnspgetserviceclassinfo(
[in] LPGUID lpProviderId,
[in, out] LPDWORD lpdwBufSize,
[in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}
Parameter
[in] lpProviderId
Ein Zeiger auf die GUID des spezifischen Namespaceanbieters, von dem das Dienstklassenschema abgerufen werden soll.
[in, out] lpdwBufSize
Bei der Eingabe die Größe des Puffers in Bytes, 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 den parameter lpServiceClassInfo verweist, der zum Abrufen des Datensatzes erforderlich ist.
[in, out] lpServiceClassInfo
Gibt einen Zeiger auf die WSASERVICECLASSINFOW-Struktur zurück, die die Dienstklasse auf namespacespezifische Zuordnungsinformationen enthält. Der lpServiceClassId-Parameter muss ausgefüllt werden, um anzugeben, welcher WSASERVICECLASSINFOW-Datensatz zurückgegeben werden soll.
Rückgabewert
Wenn kein Fehler auftritt, gibt die NSPGetServiceClassInfo-FunktionNO_ERROR (null) zurück. Andernfalls wird SOCKET_ERROR (–1) zurückgegeben, und der Namespaceanbieter muss den entsprechenden Fehlercode mithilfe von WSASetLastError festlegen.
Fehlercode | Bedeutung |
---|---|
Für diesen Vorgang ist nicht genügend Arbeitsspeicher verfügbar. | |
Die aufrufende Routine verfügt nicht über ausreichende Berechtigungen für den Zugriff auf die Informationen. | |
Der Puffer, auf den der lpServiceClass-Parameter verweist, war zu klein, um eine WSASERVICECLASSINFOW-Struktur zu enthalten. Die Anwendung muss in einem größeren Puffer übergeben werden. | |
Der angegebene Dienstklassenbezeichner oder Namespaceanbieterbezeichner ist ungültig. Dieser Fehler wird zurückgegeben, wenn die Parameter lpProviderId, lpServiceClassId, lpdwBufSize oder lpServiceClassInfo **NULL** sind. | |
Der Vorgang wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn der Namespaceanbieter diese Funktion nicht implementiert. | |
Der angeforderte Name ist gültig, es wurde jedoch keine Daten mit dem angeforderten Typ gefunden. | |
Die angegebene Klasse wurde nicht gefunden. |
Hinweise
Der W2_32.dll verwendet diese Funktion, um die WSAGetServiceClassNameByClassId-Funktion zu implementieren und die namespacespezifischen Informationen abzurufen, die an die Funktionen NSPLookupServiceBegin und NSPSetService übergeben werden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ws2spi.h |