Поделиться через


структура 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)

См. также раздел

NotifyServiceStatusChange

SERVICE_STATUS_PROCESS