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


структура SERVICE_TRIGGER_SPECIFIC_DATA_ITEM (winsvc.h)

Содержит данные, относящиеся к триггеру, для события триггера службы. Эта структура используется структурой SERVICE_TRIGGER для событий триггера SERVICE_TRIGGER_TYPE_CUSTOM, SERVICE_TRIGGER_TYPE_DEVICE_ARRIVAL, SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT или SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT.

Синтаксис

typedef struct _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM {
  DWORD dwDataType;
  DWORD cbData;
  PBYTE pData;
} SERVICE_TRIGGER_SPECIFIC_DATA_ITEM, *PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM;

Члены

dwDataType

Тип данных, относящихся к триггеру, на которые указывает pData. Этот элемент может иметь одно из следующих значений.

Значение Значение
SERVICE_TRIGGER_DATA_TYPE_BINARY
1
Данные, относящиеся к триггеру, приведены в двоичном формате.
SERVICE_TRIGGER_DATA_TYPE_STRING
2
Данные, относящиеся к триггеру, приведены в строковом формате.
SERVICE_TRIGGER_DATA_TYPE_LEVEL
3
Данные, относящиеся к триггеру, являются байтовым значением.
SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY
4
Данные, относящиеся к триггеру, являются 64-разрядным целочисленным значением без знака.
SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL
5
Данные, относящиеся к триггеру, являются 64-разрядным целочисленным значением без знака.

cbData

Размер данных, относящихся к триггеру, указывающих на pData, в байтах. Максимальное значение — 1024.

pData

Указатель на данные, относящиеся к триггеру, для события триггера службы. Данные, относящиеся к триггеру, зависят от типа события триггера; См. примечания.

Если элемент dwDataType является SERVICE_TRIGGER_DATA_TYPE_BINARY, данные, относящиеся к триггеру, являются массивом байтов.

Если элемент dwDataType является SERVICE_TRIGGER_DATA_TYPE_STRING, то данные, относящиеся к триггеру, являются строкой, завершающейся null, или многострокой строк, завершающихся значением NULL, которые заканчиваются двумя завершающими символами null. Например: "5001\0UDP\0%programfiles%\MyApplication\MyServiceProcess.exe\0MyService\0\0".

Строки должны быть в Юникоде; Строки ANSI не поддерживаются.

Комментарии

В следующей таблице перечислены данные, относящиеся к триггеру, по типу события триггера.

Тип события Данные, относящиеся к триггеру
SERVICE_TRIGGER_TYPE_CUSTOM Определяется поставщиком трассировки событий Windows (ETW), который определяет пользовательское событие.
SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL Строка SERVICE_TRIGGER_DATA_TYPE_STRING, указывающая идентификатор оборудования или строку совместимого идентификатора для класса интерфейса устройства.
SERVICE_TRIGGER_TYPE_DOMAIN_JOIN Не применяется
SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT SERVICE_TRIGGER_DATA_TYPE_STRING многостроковый, указывающий порт, протокол и при необходимости путь к исполняемому файлу и имя службы, прослушивающей событие.
SERVICE_TRIGGER_TYPE_GROUP_POLICY Не применяется
SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY Не применяется
SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT SERVICE_TRIGGER_DATA_TYPE_STRING, указывающий порт, именованный канал или интерфейс RPC для конечной точки сети.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть winsvc.h

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

ChangeServiceConfig2

QueryServiceConfig2

SERVICE_TRIGGER

События триггера службы