структура SERVICE_NOTIFY_2W (winsvc.h)
Представляет сведения об уведомлении о состоянии службы. Он используется функцией NotifyServiceStatusChange .
Синтаксис
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;
Члены
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
Если параметр dwNotificationStatus имеет значение ERROR_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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по