Partager via


SERVICE_NOTIFY_2W structure (winsvc.h)

Représente les informations de notification status de service. Il est utilisé par la fonction NotifyServiceStatusChange .

Syntaxe

typedef struct _SERVICE_NOTIFY_2W {
  DWORD                  dwVersion;
  PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback;
  PVOID                  pContext;
  DWORD                  dwNotificationStatus;
  SERVICE_STATUS_PROCESS ServiceStatus;
  DWORD                  dwNotificationTriggered;
  LPWSTR                 pszServiceNames;
} SERVICE_NOTIFY_2W, *PSERVICE_NOTIFY_2W;

Membres

dwVersion

La version de structure. Ce membre doit être SERVICE_NOTIFY_STATUS_CHANGE (2).

pfnNotifyCallback

Pointeur vers la fonction de rappel. Pour plus d'informations, consultez la section Notes.

pContext

Toutes les données définies par l’utilisateur à passer à la fonction de rappel.

dwNotificationStatus

Valeur qui indique le status de notification. Si ce membre est ERROR_SUCCESS, la notification a réussi et le membre ServiceStatus contient des informations valides. Si ce membre est ERROR_SERVICE_MARKED_FOR_DELETE, le service a été marqué pour suppression et le handle de service utilisé par NotifyServiceStatusChange doit être fermé.

ServiceStatus

Structure SERVICE_STATUS_PROCESS qui contient les informations de status de service. Ce membre est valide uniquement si dwNotificationStatus est ERROR_SUCCESS.

dwNotificationTriggered

Si dwNotificationStatus est ERROR_SUCCESS, ce membre contient un masque de bits des notifications qui ont déclenché cet appel à la fonction de rappel.

pszServiceNames

Si dwNotificationStatus est ERROR_SUCCESS et que la notification est SERVICE_NOTIFY_CREATED ou SERVICE_NOTIFY_DELETED, ce membre est valide et il s’agit d’une chaîne MULTI_SZ qui contient un ou plusieurs noms de service. Les noms des services créés auront un préfixe « / » afin que vous puissiez les distinguer des noms des services supprimés.

Si ce membre est valide, la fonction de rappel de notification doit libérer la chaîne à l’aide de la fonction LocalFree .

Remarques

La fonction de rappel est déclarée comme suit :

typedef VOID( CALLBACK * PFN_SC_NOTIFY_CALLBACK ) (
    IN PVOID pParameter 
);

La fonction de rappel reçoit un pointeur vers la structure SERVICE_NOTIFY fournie par l’appelant.

Notes

L’en-tête winsvc.h définit SERVICE_NOTIFY_2 en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête winsvc.h (inclure Windows.h)

Voir aussi

NotifyServiceStatusChange

SERVICE_STATUS_PROCESS