структура SERVICE_NOTIFY_2A (winsvc.h)
Представляет сведения о состоянии службы. Он используется функцией NotifyServiceStatusChange.
Синтаксис
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;
Члены
dwVersion
Версия структуры. Этот элемент должен быть SERVICE_NOTIFY_STATUS_CHANGE (2).
pfnNotifyCallback
Указатель на функцию обратного вызова. Дополнительные сведения см. в разделе "Примечания".
pContext
Все определяемые пользователем данные, передаваемые в функцию обратного вызова.
dwNotificationStatus
Значение, указывающее состояние уведомления. Если этот элемент ERROR_SUCCESS, уведомление успешно выполнено, а элемент ServiceStatus содержит допустимые сведения. Если этот элемент ERROR_SERVICE_MARKED_FOR_DELETE, служба помечена для удаления и дескриптор службы, используемый NotifyServiceStatusChange, должен быть закрыт.
ServiceStatus
Структура SERVICE_STATUS_PROCESS, содержащая сведения о состоянии службы. Этот элемент действителен только в том случае, если dwNotificationStatusERROR_SUCCESS.
dwNotificationTriggered
Если dwNotificationStatusERROR_SUCCESS, этот элемент содержит битовую маску уведомлений, которые активировали этот вызов функции обратного вызова.
pszServiceNames
Если dwNotificationStatusERROR_SUCCESS и уведомление SERVICE_NOTIFY_CREATED или SERVICE_NOTIFY_DELETED, этот элемент действителен, и это строка MULTI_SZ, содержащая одно или несколько имен служб. Имена созданных служб будут иметь префикс "/", чтобы отличить их от имен удаленных служб.
Если этот член действителен, функция обратного вызова уведомлений должна освободить строку с помощью функции LocalFree.
Замечания
Функция обратного вызова объявлена следующим образом:
typedef VOID( CALLBACK * PFN_SC_NOTIFY_CALLBACK ) (
IN PVOID pParameter
);
Функция обратного вызова получает указатель на структуру SERVICE_NOTIFY, предоставляемую вызывающим оператором.
Заметка
Заголовок winsvc.h определяет SERVICE_NOTIFY_2 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
заголовка | winsvc.h (включая Windows.h) |