Share via


SetServiceW-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. Zur Vereinfachung von Windows Sockets 1.1-Entwicklern lautet das Referenzmaterial wie folgt.
 

Syntax

INT SetServiceW(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOW      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
Ein Satz von Standardnamespaces. Die Funktion fragt jeden Namespace innerhalb dieses Satzes ab. Der Satz von Standardnamespaces umfasst in der Regel alle Namespaces, die auf dem System installiert sind. Systemadministratoren können jedoch bestimmte Namespaces aus dem Satz ausschließen. NS_DEFAULT ist der Wert, den die meisten Anwendungen für dwNameSpace verwenden sollten.
NS_DNS
Das Domänennamensystem, das im Internet verwendet wird, um den Namen des Hosts aufzulösen.
NS_NDS
Der NetWare 4-Anbieter.
NS_NETBT
Die NetBIOS-Ebene über TCP/IP. 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-Protokoll. Dies kann ggf. auf die NetWare-Bindery 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 Vergleiche 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 alle Vorgänge aus, die aufgerufen wurden, 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 den ServiceSpecificInfo-Member der SERVICE_INFO-Struktur , auf die von lpServiceInfo verwiesen wird, um eine SERVICE_TYPE_INFO_ABS-Struktur zu übergeben. Sie müssen auch den ServiceType-Member 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

Ein Satz von Bitflags, die den Vorgang der Funktion ändern. Sie können eines oder mehrere 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 Aufhebungsvorgang 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 Informationen zum persistenten Speicher, wenn der Vorgang ausgeführt wird.

Beispiel: Wenn der Vorgang die Aufhebung der Registrierung in einem Namespace umfasst, der einen persistenten Speicher verwendet, entfernt der Namespaceanbieter die relevanten Informationen zum persistenten 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

Ein Satz von Bitflags, die Funktionen status Informationen empfangen. Das folgende Bitflag ist 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 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
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