SetServiceA-Funktion (nspapi.h)

Die SetService-Funktion registriert oder entfernt einen Netzwerkdienst in einem oder mehreren Namespaces aus der Registrierung. Die Funktion kann auch einen Netzwerkdiensttyp innerhalb eines oder mehrerer Namespaces hinzufügen oder entfernen.

Hinweis Die SetService-Funktion ist veraltet. Die unter Protokollunabhängige Namensauflösung beschriebenen Funktionen bieten entsprechende Funktionen in Windows Sockets 2. Für Entwickler von Windows Sockets 1.1 ist das Referenzmaterial wie folgt:
 

Syntax

INT SetServiceA(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOA      lpServiceInfo,
  [in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
  [out]          LPDWORD              lpdwStatusFlags
);

Parameter

[in] dwNameSpace

Der Namespace oder eine Reihe von Standardnamespaces, in denen die Funktion ausgeführt wird.

Verwenden Sie eine der folgenden Konstanten, um einen Namespace anzugeben.

Wert Bedeutung
NS_DEFAULT
Eine Reihe von Standardnamespaces. Die Funktion fragt jeden Namespace in diesem Satz ab. Der Satz von Standardnamespaces umfasst in der Regel alle Namespaces, die auf dem System installiert sind. Systemadministratoren können jedoch bestimmte Namespaces aus der Gruppe ausschließen. NS_DEFAULT ist der Wert, den die meisten Anwendungen für dwNameSpace verwenden sollten.
NS_DNS
Das Domain Name System, das im Internet verwendet wird, um den Namen des Hosts aufzulösen.
NS_NDS
Der NetWare 4-Anbieter.
NS_NETBT
Die NetBIOS-über TCP/IP-Ebene. Alle Windows-Systeme registrieren ihre Computernamen bei NetBIOS. Dieser Namespace wird verwendet, um einen Computernamen in eine IP-Adresse zu konvertieren, die diese Registrierung verwendet.
NS_SAP
Das NetWare Service Advertising Protocol. Dies kann ggf. auf die NetWare-Binderie zugreifen. NS_SAP ist ein dynamischer Namespace, der die Registrierung von Diensten ermöglicht.
NS_TCPIP_HOSTS
Suchwert in der <Datei systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Lokale TCP/IP-Namensauflösungsmechanismen, einschließlich Vergleichen mit dem lokalen Hostnamen und dem Suchwert im Cache von Host-zu-IP-Adresszuordnungen.

[in] dwOperation

Der Vorgang, den die Funktion ausführt. Verwenden Sie einen der folgenden Werte, um einen Vorgang anzugeben:

Wert Bedeutung
SERVICE_REGISTER
Registrieren Sie den Netzwerkdienst beim Namespace. Dieser Vorgang kann mit den SERVICE_FLAG_DEFER- und SERVICE_FLAG_HARD-Bitflags verwendet werden.
SERVICE_DEREGISTER
Entfernen Sie den Netzwerkdienst aus der Registrierung aus dem Namespace. Dieser Vorgang kann mit den SERVICE_FLAG_DEFER- und SERVICE_FLAG_HARD-Bitflags verwendet werden.
SERVICE_FLUSH
Führen Sie jeden Vorgang aus, der aufgerufen wurde, wobei das SERVICE_FLAG_DEFER Bitflag auf eins festgelegt ist.
SERVICE_ADD_TYPE
Fügen Sie dem Namespace einen Diensttyp hinzu.

Verwenden Sie für diesen Vorgang das ServiceSpecificInfo-Element der SERVICE_INFO-Struktur , auf die von lpServiceInfo verwiesen wird, um eine SERVICE_TYPE_INFO_ABS-Struktur zu übergeben. Sie müssen auch das ServiceType-Element der SERVICE_INFO-Struktur festlegen. Andere SERVICE_INFO-Member werden ignoriert.

SERVICE_DELETE_TYPE
Entfernen Sie einen Diensttyp, der durch einen vorherigen Aufruf hinzugefügt wurde, der den SERVICE_ADD_TYPE Vorgang angibt, aus dem Namespace.

[in] dwFlags

Eine Reihe von Bitflags, die den Vorgang der Funktion ändern. Sie können mindestens eins der folgenden Bitflags festlegen:

Wert Bedeutung
SERVICE_FLAG_DEFER
Dieses Bitflag ist nur gültig, wenn der Vorgang SERVICE_REGISTER oder SERVICE_DEREGISTER ist.

Wenn dieses Bitflag eins ist und gültig ist, sollte der Namespaceanbieter den Registrierungs- oder Deregistrierungsvorgang zurückstellen, bis ein SERVICE_FLUSH Vorgang angefordert wird.

SERVICE_FLAG_HARD
Dieses Bitflag ist nur gültig, wenn der Vorgang SERVICE_REGISTER oder SERVICE_DEREGISTER ist.

Wenn dieses Bitflag eins ist und gültig ist, aktualisiert der Namespaceanbieter alle relevanten persistenten Speicherinformationen, wenn der Vorgang ausgeführt wird.

Beispiel: Wenn der Vorgang die Deregistrierung in einem Namespace beinhaltet, der einen persistenten Speicher verwendet, entfernt der Namespaceanbieter die relevanten Informationen zum beständigen Speicher.

[in] lpServiceInfo

Ein Zeiger auf eine SERVICE_INFO-Struktur , die Informationen zum Netzwerkdienst oder Diensttyp enthält.

[in, optional] lpServiceAsyncInfo

Für die zukünftige Verwendung reserviert. Muss auf NULL festgelegt werden.

[out] lpdwStatusFlags

Eine Reihe von Bitflags, die Funktionen status Informationen empfangen. Das folgende Bitflag wird definiert:

Wert Bedeutung
SET_SERVICE_ PARTIAL_SUCCESS
Mindestens ein Namespaceanbieter konnte den angeforderten Vorgang nicht erfolgreich ausführen.

Rückgabewert

Wenn die Funktion fehlschlägt, wird der Rückgabewert SOCKET_ERROR. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. GetLastError kann den folgenden erweiterten Fehlerwert zurückgeben.

Fehlercode Bedeutung
ERROR_ALREADY_ REGISTRIERT
Die Funktion hat versucht, einen bereits registrierten Dienst zu registrieren.

Hinweise

Hinweis

Der nspapi.h-Header definiert SetService 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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile nspapi.h
Bibliothek Mswsock.lib
DLL Mswsock.dll

Weitere Informationen

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Winsock-Funktionen

Winsock-Referenz