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)
Microsoft 會定義某些位旗標 (0x00300084) ,但不會特別保留給系統軟體。 以下是這些位旗標。
SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)
SV_TYPE_NOVELL (0x00000080)
SV_TYPE_DOMAIN_CTRL (0x00100000)
SV_TYPE_DOMAIN_BAKCTRL (0x00200000)
Microsoft 未定義某些位旗標 (0x3FC0C000) ,而且其使用方式不會由 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 |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |