SERVICE_NOTIFY_2A structure (winsvc.h)
Représente les informations de notification status de service. Il est utilisé par la fonction NotifyServiceStatusChange .
Syntaxe
typedef struct _SERVICE_NOTIFY_2A {
DWORD dwVersion;
PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback;
PVOID pContext;
DWORD dwNotificationStatus;
SERVICE_STATUS_PROCESS ServiceStatus;
DWORD dwNotificationTriggered;
LPSTR pszServiceNames;
} SERVICE_NOTIFY_2A, *PSERVICE_NOTIFY_2A;
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) |