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

Voir aussi

NetServerEnum

NetServerGetInfo

RegisterServiceCtrlHandlerEx

Fonctions de service

SetServiceStatus