Dienstinstallation im Windows Sockets 2 SPI
Wenn die erforderliche Dienstklasse noch nicht vorhanden ist, verwendet ein NAMESPACE-SPI-Client NSPInstallServiceClass, um eine neue Dienstklasse zu installieren, indem ein Dienstklassenname, eine GUID für den Dienstklassenbezeichner und eine Reihe von WSANSCLASSINFO-Strukturen angegeben werden. Diese Strukturen sind jeweils spezifisch für einen bestimmten Namespace und stellen allgemeine Werte bereit, z. B. empfohlene TCP-Portnummern oder NetWare-SAP-Bezeichner. Eine Dienstklasse kann entfernt werden, indem NSPRemoveServiceClass aufgerufen und die GUID angegeben wird, die dem Klassenbezeichner entspricht.
Sobald eine Dienstklasse vorhanden ist, können bestimmte Instanzen eines Diensts über NSPSetServiceinstalliert oder entfernt werden. Diese Funktion verwendet eine WSAQUERYSET-Struktur als Eingabeparameter zusammen mit einem Vorgangscode und Vorgangsflags. Der Vorgangscode gibt an, ob der Dienst installiert oder entfernt wird. Die WSAQUERYSET-Struktur stellt alle relevanten Informationen zum Dienst bereit, einschließlich Dienstklassenbezeichner, Dienstname (für diese Instanz), zutreffender Namespacebezeichner und Protokollinformationen sowie eine Reihe von Transportadressen, an denen der Dienst lauscht.