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
WSA_NOT_ENOUGH_MEMORY
Für diesen Vorgang ist nicht genügend Arbeitsspeicher verfügbar.
WSAEACCES
Die aufrufende Routine verfügt nicht über ausreichende Berechtigungen für den Zugriff auf die Informationen.
WSAEFAULT
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.
WSAEINVAL
Der angegebene Dienstklassenbezeichner oder Namespaceanbieterbezeichner ist ungültig. Dieser Fehler wird zurückgegeben, wenn die Parameter lpProviderId, lpServiceClassId, lpdwBufSize oder lpServiceClassInfo **NULL** sind.
WSAEOPNOTSUPP
Der Vorgang wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn der Namespaceanbieter diese Funktion nicht implementiert.
WSANO_DATA
Der angeforderte Name ist gültig, es wurde jedoch keine Daten mit dem angeforderten Typ gefunden.
WSATYPE_NOT_FOUND
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

Weitere Informationen

NSPInstallServiceClass

NSPLookupServiceBegin

NSPRemoveServiceClass

NSPSetService

WSAGetServiceClassInfo

WSAGetServiceClassNameByClassId

WSASERVICECLASSINFOW

WSASetLastError