SetServiceBits 函数 (lmserver.h)
向服务控制管理器和服务器服务注册服务类型。 然后,服务器服务可以将已注册的服务类型报为它当前支持的服务类型。 NetServerGetInfo 和 NetServerEnum 函数获取指定计算机的受支持服务类型。
语法
BOOL NET_API_FUNCTION SetServiceBits(
[in] SERVICE_STATUS_HANDLE hServiceStatus,
[in] DWORD dwServiceBits,
[in] BOOL bSetBitsOn,
[in] BOOL bUpdateImmediately
);
参数
[in] hServiceStatus
服务的状态信息结构的句柄。 服务通过调用 RegisterServiceCtrlHandlerEx 函数获取句柄。
[in] dwServiceBits
服务类型。
某些 (0xC00F3F7B) 位标志保留供 Microsoft 使用。 如果在 dwServiceBits 中设置了任何这些位标志, SetServiceBits 函数将失败并显示错误ERROR_INVALID_DATA。 以下位标志保留供 Microsoft 使用。
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)
某些 (0x00300084) 位标志由 Microsoft 定义,但不是为系统软件专门保留的。 下面是这些位标志。
SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)
SV_TYPE_NOVELL (0x00000080)
SV_TYPE_DOMAIN_CTRL (0x00100000)
SV_TYPE_DOMAIN_BAKCTRL (0x00200000)
某些 (0x3FC0C000) 位标志不是由 Microsoft 定义的,并且它们的使用不受 Microsoft 协调。 使用这些位的应用程序的开发人员应注意,其他应用程序也可以使用它们,从而造成冲突。 下面是这些位标志。
0x00004000
0x00008000
0x00400000
0x00800000
0x01000000
0x02000000
0x04000000
0x08000000
0x10000000
0x20000000
[in] bSetBitsOn
如果此值为 TRUE,则将设置 dwServiceBit 中的位。 如果此值为 FALSE,则清除位。
[in] bUpdateImmediately
如果此值为 TRUE,则服务器服务将立即执行更新。 如果此值为 FALSE,则不会立即执行更新。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | lmserver.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |