Freigeben über


SetServiceA-Funktion (nspapi.h)

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

Hinweis Die funktion SetService ist veraltet. Die in Protocol-Independent Namensauflösung beschriebenen Funktionen entsprechende Funktionen in Windows Sockets 2 bereitstellen. Für die Benutzerfreundlichkeit von Windows Sockets 1.1-Entwicklern lautet 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 innerhalb dieses Satzes ab. Der Satz von Standardnamespaces enthält 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 im Internet verwendete Domänennamensystem, um den Namen des Hosts aufzulösen.
NS_NDS
Der NetWare 4-Anbieter.
NS_NETBT
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-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
Nachschlagewert in der Datei <systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Lokale TCP/IP-Namensauflösungsmechanismen, einschließlich Vergleiche mit dem lokalen Hostnamen und nachschlagewert im Cache des Hosts 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 mit dem Namespace. Dieser Vorgang kann mit den SERVICE_FLAG_DEFER- und SERVICE_FLAG_HARD Bitkennzeichnungen 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 Bitkennzeichnungen verwendet werden.
SERVICE_FLUSH
Führen Sie alle Vorgänge aus, die aufgerufen wurden, wobei die SERVICE_FLAG_DEFER Bitkennzeichnung auf eins festgelegt ist.
SERVICE_ADD_TYPE
Fügen Sie dem Namespace einen Diensttyp hinzu.

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

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

[in] dwFlags

Eine Gruppe von Bitkennzeichnungen, die den Vorgang der Funktion ändern. Sie können ein oder mehrere der folgenden Bitkennzeichnungen festlegen:

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

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

SERVICE_FLAG_HARD
Dieses Bit-Flag ist nur gültig, wenn der Vorgang SERVICE_REGISTER oder SERVICE_DEREGISTER ist.

Wenn dieses Bit-Flag eins ist und es gültig ist, aktualisiert der Namespaceanbieter alle relevanten Informationen zum beständigen Speicher, wenn der Vorgang ausgeführt wird.

Beispiel: Wenn der Vorgang die Registrierung in einem Namespace umfasst, der einen beständigen Speicher verwendet, würde der Namespaceanbieter die relevanten Informationen zum beständigen Speicher entfernen.

[in] lpServiceInfo

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

[in, optional] lpServiceAsyncInfo

Reserviert für die zukünftige Verwendung. Muss auf NULL-festgelegt sein.

[out] lpdwStatusFlags

Eine Reihe von Bitkennzeichnungen, die Funktionsstatusinformationen empfangen. Die folgende Bitkennzeichnung 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. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten. GetLastError- kann den folgenden erweiterten Fehlerwert zurückgeben.

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

Bemerkungen

Anmerkung

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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- nspapi.h
Library Mswsock.lib
DLL- Mswsock.dll

Siehe auch

GetService-

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Winsock-Funktionen

Winsock Reference