SetServiceBits, fonction (lmserver.h)
Inscrit un type de service auprès du gestionnaire de contrôle de service et du service Serveur. Le service Serveur peut ensuite annoncer le type de service inscrit comme celui qu’il prend actuellement en charge. Les fonctions NetServerGetInfo et NetServerEnum obtiennent les types de service pris en charge d’un ordinateur spécifié.
Syntaxe
BOOL NET_API_FUNCTION SetServiceBits(
[in] SERVICE_STATUS_HANDLE hServiceStatus,
[in] DWORD dwServiceBits,
[in] BOOL bSetBitsOn,
[in] BOOL bUpdateImmediately
);
Paramètres
[in] hServiceStatus
Handle de la structure d’informations status pour le service. Un service obtient le handle en appelant la fonction RegisterServiceCtrlHandlerEx .
[in] dwServiceBits
Type de service.
Certains indicateurs de bits (0xC00F3F7B) sont réservés à Microsoft. La fonction SetServiceBits échoue avec l’erreur ERROR_INVALID_DATA si l’un de ces indicateurs de bits est défini dans dwServiceBits. Les indicateurs de bits suivants sont réservés à 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)
Certains indicateurs de bits (0x00300084) sont définis par Microsoft, mais ne sont pas spécifiquement réservés aux logiciels système. Voici les indicateurs de bits suivants.
SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)
SV_TYPE_NOVELL (0x00000080)
SV_TYPE_DOMAIN_CTRL (0x00100000)
SV_TYPE_DOMAIN_BAKCTRL (0x00200000)
Certains indicateurs de bits (0x3FC0C000) ne sont pas définis par Microsoft et leur utilisation n’est pas coordonnée par Microsoft. Les développeurs d’applications qui utilisent ces bits doivent savoir que d’autres applications peuvent également les utiliser, créant ainsi un conflit. Voici les indicateurs de bits suivants.
0x00004000
0x00008000
0x00400000
0x00800000
0x01000000
0x02000000
0x04000000
0x08000000
0x10000000
0x20000000
[in] bSetBitsOn
Si cette valeur est TRUE, les bits dans dwServiceBit doivent être définis. Si cette valeur est FALSE, les bits doivent être effacés.
[in] bUpdateImmediately
Si cette valeur est TRUE, le service Serveur doit effectuer une mise à jour immédiate. Si cette valeur est FALSE, la mise à jour n’est pas effectuée immédiatement.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | lmserver.h |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |