Freigeben über


SetServiceBits-Funktion (lmserver.h)

Registriert einen Diensttyp beim Dienststeuerungs-Manager und dem Serverdienst. Der Serverdienst kann dann den registrierten Diensttyp als einen ankündigen, den er derzeit unterstützt. Die Funktionen NetServerGetInfo und NetServerEnum rufen die unterstützten Diensttypen eines angegebenen Computers ab.

Syntax

BOOL NET_API_FUNCTION SetServiceBits(
  [in] SERVICE_STATUS_HANDLE hServiceStatus,
  [in] DWORD                 dwServiceBits,
  [in] BOOL                  bSetBitsOn,
  [in] BOOL                  bUpdateImmediately
);

Parameter

[in] hServiceStatus

Ein Handle für die status Informationsstruktur für den Dienst. Ein Dienst ruft das Handle ab, indem er die Funktion RegisterServiceCtrlHandlerEx aufruft .

[in] dwServiceBits

Der Diensttyp.

Bestimmte Bitflags (0xC00F3F7B) sind für die Verwendung durch Microsoft reserviert. Die SetServiceBits-Funktion schlägt mit dem Fehler ERROR_INVALID_DATA fehl, wenn eines dieser Bitflags in dwServiceBits festgelegt ist. Die folgenden Bitflags sind für die Verwendung durch Microsoft reserviert.

SV_TYPE_WORKSTATION (0x00000001)

SV_TYPE_SERVER (0x00000002)

SV_TYPE_DOMAIN_CTRL (0x00000008)

SV_TYPE_DOMAIN_BAKCTRL (0x00000010)

SV_TYPE_TIME_SOURCE (0x00000020)

SV_TYPE_AFP (0x00000040)

SV_TYPE_DOMAIN_MEMBER (0x00000100)

SV_TYPE_PRINTQ_SERVER (0x00000200)

SV_TYPE_DIALIN_SERVER (0x00000400)

SV_TYPE_XENIX_SERVER (0x00000800)

SV_TYPE_SERVER_UNIX (0x00000800)

SV_TYPE_NT (0x00001000)

SV_TYPE_WFW (0x00002000)

SV_TYPE_POTENTIAL_BROWSER (0x00010000)

SV_TYPE_BACKUP_BROWSER (0x00020000)

SV_TYPE_MASTER_BROWSER (0x00040000)

SV_TYPE_DOMAIN_MASTER (0x00080000)

SV_TYPE_LOCAL_LIST_ONLY (0x40000000)

SV_TYPE_DOMAIN_ENUM (0x80000000)

Bestimmte Bitflags (0x00300084) werden von Microsoft definiert, sind aber nicht speziell für Systemsoftware reserviert. Im Folgenden sind diese Bitflags aufgeführt.

SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)

SV_TYPE_NOVELL (0x00000080)

SV_TYPE_DOMAIN_CTRL (0x00100000)

SV_TYPE_DOMAIN_BAKCTRL (0x00200000)

Bestimmte Bitflags (0x3FC0C000) werden nicht von Microsoft definiert, und ihre Verwendung wird nicht von Microsoft koordiniert. Entwickler von Anwendungen, die diese Bits verwenden, sollten sich bewusst sein, dass sie auch von anderen Anwendungen verwendet werden können, wodurch ein Konflikt entsteht. Im Folgenden sind diese Bitflags aufgeführt.

0x00004000

0x00008000

0x00400000

0x00800000

0x01000000

0x02000000

0x04000000

0x08000000

0x10000000

0x20000000

[in] bSetBitsOn

Wenn dieser Wert TRUE ist, müssen die Bits in dwServiceBit festgelegt werden. Wenn dieser Wert FALSE ist, müssen die Bits gelöscht werden.

[in] bUpdateImmediately

Wenn dieser Wert TRUE ist, soll der Serverdienst ein sofortiges Update ausführen. Wenn dieser Wert FALSE ist, wird die Aktualisierung nicht sofort ausgeführt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lmserver.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

NetServerEnum

NetServerGetInfo

RegisterServiceCtrlHandlerEx

Dienstfunktionen

SetServiceStatus