共用方式為


2.2.44 SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2

The SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 structure<14> defines the service status notification information.

 typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 {
   ULONGLONG ullThreadId;
   DWORD dwNotifyMask;
   UCHAR CallbackAddressArray[16];
   UCHAR CallbackParamAddressArray[16];
   SERVICE_STATUS_PROCESS ServiceStatus;
   DWORD dwNotificationStatus;
   DWORD dwSequence;
   DWORD dwNotificationTriggered;
   [string, range(0, 64*1024)] PWSTR pszServiceNames;
 } SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2,
  *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2;

ullThreadId: Not used.

dwNotifyMask: A value that specifies the status changes in which the client is interested. It MUST be one or more of the following values.

Value

Meaning

SERVICE_NOTIFY_CREATED

 0x00000080

Report when the service has been created.

SERVICE_NOTIFY_CONTINUE_PENDING

 0x00000010

Report when the service is about to continue.

SERVICE_NOTIFY_DELETE_PENDING

 0x00000200

Report when an application has specified the service to delete.

SERVICE_NOTIFY_DELETED

 0x00000100

Report when the service has been deleted.

SERVICE_NOTIFY_PAUSE_PENDING

 0x00000020

Report when the service is pausing.

SERVICE_NOTIFY_PAUSED

 0x00000040

Report when the service has paused.

SERVICE_NOTIFY_RUNNING

 0x00000008

Report when the service is running.

SERVICE_NOTIFY_START_PENDING

 0x00000002

Report when the service is starting.

SERVICE_NOTIFY_STOP_PENDING

 0x00000004

Report when the service is stopping.

SERVICE_NOTIFY_STOPPED

 0x00000001

Report when the service has stopped.

CallbackAddressArray: Not used.

CallbackParamAddressArray: Not used.

ServiceStatus: A SERVICE_STATUS_PROCESS (section 2.2.49) structure that contains information about the service.

dwNotificationStatus: A value that indicates the notification status. If this member is ERROR_SUCCESS, the notification has succeeded and the server adds valid information to the ServiceStatus, dwNotificationTriggered, and pszServiceNames members. If this member is ERROR_REQUEST_ABORTED or ERROR_SERVICE_MARKED_FOR_DELETE, the notification has failed.

dwSequence: Not used.

dwNotificationTriggered: The value that specifies the specific status change event that triggered the notification to the client. This MUST be one or more of the values specified in the dwNotifyMask parameter.

pszServiceNames: A pointer to a sequence of null-terminated strings, terminated by an empty string (\0) that contains the name of the service that was created or deleted.

The forward slash, back slash, comma, and space characters are illegal in service names.

The names of the created services are prefixed by "/" to distinguish them from the names of the deleted services.