Revision Summary Date Revision History Revision Comments 5/11/2007 1.0 Version 1.0 release 6/1/2007 1.0.1 Editorial Changed language and formatting in the technical content. 7/3/2007 1.0.2 Editorial Changed language and formatting in the technical content. 8/10/2007 1.1 Minor Revised content based on feedback. 9/28/2007 1.2 Minor Revised content based on feedback. 10/23/2007 1.2.1 Editorial Changed language and formatting in the technical content. 1/25/2008 1.2.2 Editorial Changed language and formatting in the technical content. 3/14/2008 2.0 Major Updated and revised the technical content. 6/20/2008 3.0 Major Updated and revised the technical content. 7/25/2008 3.0.1 Editorial Changed language
and formatting in the technical content. 8/29/2008 3.1 Minor Clarified the meaning of the technical content. 10/24/2008 3.1.1 Editorial Changed language and formatting in the technical content. 12/5/2008 4.0 Major Updated and revised the technical content. 1/16/2009 5.0 Major Updated and revised the technical content. 2/27/2009 6.0 Major Updated and revised the technical content. 4/10/2009 7.0 Updated and revised the technical content. 5/22/2009 8.0 Updated and revised the technical content. 7/2/2009 9.0 Major Updated and revised the technical content. 8/14/2009 10.0 Major Updated and revised the technical content.
the technical content. 1/7/2011 19.0 None No changes to the meaning, language, or formatting of the technical content. 2/11/2011 20.0 Major Updated and revised the technical content. 3/25/2011 21.0 Major Updated and revised the technical content. 5/6/2011 22.0 Major Updated and revised the technical content. 6/17/2011 22.1 Minor Clarified the meaning of the technical content. 9/23/2011 22.1 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 23.0 Major Updated and revised the technical content. 3/30/2012 23.0 None No changes to the meaning, language, or formatting of the
10/16/2015 27.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 27.0 None No changes to the meaning, language, or formatting of the technical content. 6/1/2017 27.0 None No changes to the meaning, language, or formatting of the technical content. 9/15/2017 27.1 Clarified the meaning of the technical content.
The additional data given in the following sections are defined in the specification of this RPC interface. SECURITY_INFORMATION The following bit flags indicate which components to include in a SECURITY_DESCRIPTOR structure that clients and servers can use to specify access types. Meaning DACL_SECURITY_INFORMATION 0x00000004 If set, the security descriptor MUST include the object's . DACL information is specified in section 1.1.1.3. GROUP_SECURITY_INFORMATION 0x00000002 If set, specifies the , as defined in section 2.4.2, (LSAPR_SID) of the object's primary group. Primary group information is specified in OWNER_SECURITY_INFORMATION 0x00000001 If set, specifies the security identifier (SID) (LSAPR_SID) of the object's owner. SACL_SECURITY_INFORMATION 0x00000008 If set, the security descriptor MUST include the object's . SACL information is specified in section 1.1.1.3.
SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER 0x0000000b Driver SERVICE_STOP_REASON_MINOR_HUNG 0x00000006 Unresponsive SERVICE_STOP_REASON_MINOR_INSTALLATION 0x00000003 Installation SERVICE_STOP_REASON_MINOR_MAINTENANCE 0x00000002 Maintenance SERVICE_STOP_REASON_MINOR_MMC 0x00000016 MMC issue SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011 Network connectivity SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009 Network card SERVICE_STOP_REASON_MINOR_NONE 0x00000017 No minor reason SERVICE_STOP_REASON_MINOR_OTHER 0x00000001 Other issue SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c Other driver event SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005 Reconfigure SERVICE_STOP_REASON_MINOR_SECURITY 0x00000010 Security issue SERVICE_STOP_REASON_MINOR_SECURITYFIX 0x0000000f Security update SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000015 Security update uninstall SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d Service pack SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013 Service pack uninstall SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e Software update SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL 0x00000014 Software update uninstall SERVICE_STOP_REASON_MINOR_UNSTABLE Unstable
SERVICE_STOP_REASON_MAJOR_HARDWARE 0x00020000 Hardware SERVICE_STOP_REASON_MAJOR_NONE 0x00060000 No major reason SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM 0x00030000 Operating system SERVICE_STOP_REASON_MAJOR_OTHER 0x00010000 Other issue SERVICE_STOP_REASON_MAJOR_SOFTWARE 0x00040000 Software issue The following are the minor reason codes. Meaning SERVICE_STOP_REASON_MINOR_DISK 0x00000008 Disk SERVICE_STOP_REASON_MINOR_ENVIRONMENT 0x0000000a Environment SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER 0x0000000b Driver SERVICE_STOP_REASON_MINOR_HUNG 0x00000006 Unresponsive SERVICE_STOP_REASON_MINOR_INSTALLATION 0x00000003 Installation SERVICE_STOP_REASON_MINOR_MAINTENANCE 0x00000002 Maintenance SERVICE_STOP_REASON_MINOR_MMC 0x00000016 MMC SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011 Network connectivity SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009 Network card SERVICE_STOP_REASON_MINOR_NONE 0x00000017 No minor reason SERVICE_STOP_REASON_MINOR_OTHER 0x00000001 issue SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c driver event SERVICE_STOP_REASON_MINOR_RECONFIG Reconfigure
This setting is ignored unless the service has configured failure actions. SERVICE_NOTIFY_STATUS_CHANGE_PARAMS The latest supported version of the service notification status structure.<13> This type is declared as follows: typedef SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 SERVICE_NOTIFY_STATUS_CHANGE_PARAMS, *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS; SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 The SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 structure defines the service status notification information. If a client uses this structure, the server copies data from this structure to the newer structure specified in , and uses the newer structure. typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 { ULONGLONG ullThreadId; DWORD dwNotifyMask; UCHAR CallbackAddressArray[16]; UCHAR CallbackParamAddressArray[16]; SERVICE_STATUS_PROCESS ServiceStatus; dwNotificationStatus; DWORD dwSequence; } SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1, *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1; 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_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 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 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.
dwCurrentState: The current state of the service. This MUST be one of the following values. Value Meaning 0x00000005 SERVICE_CONTINUE_PENDING 0x00000006 SERVICE_PAUSE_PENDING 0x00000007 SERVICE_PAUSED 0x00000004 SERVICE_RUNNING 0x00000002 SERVICE_START_PENDING 0x00000003 SERVICE_STOP_PENDING 0x00000001 SERVICE_STOPPED dwControlsAccepted: The control that the service accepts and processes in its handler function. This bit mask MUST be set to zero or more of the following values. The value of dwControlsAccepted is 0x00000000 if the service type is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER. Value Meaning 0x00000008 SERVICE_ACCEPT_PARAMCHANGE Service can reread its startup parameters without being stopped and restarted. 0x00000002 SERVICE_ACCEPT_PAUSE_CONTINUE Service can be paused and continued. 0x00000004 SERVICE_ACCEPT_SHUTDOWN Service is notified when system shutdown occurs. 0x00000001 SERVICE_ACCEPT_STOP Service can be stopped. 0x00000020 SERVICE_ACCEPT_HARDWAREPROFILECHANGE Service is notified when the computer hardware profile changes. 0x00000040 SERVICE_ACCEPT_POWEREVENT Service is notified when the computer power status changes. 0x00000080 SERVICE_ACCEPT_SESSIONCHANGE Service is notified when the computer session status changes. 0x00000100 SERVICE_ACCEPT_PRESHUTDOWN<22> The service can perform preshutdown tasks. SERVICE_ACCEPT_PRESHUTDOWN is sent before sending SERVICE_CONTROL_SHUTDOWN to give more time to services that need extra time before shutdown occurs. 0x00000200 SERVICE_ACCEPT_TIMECHANGE<23> Service is notified when the system time changes. 0x00000400 SERVICE_ACCEPT_TRIGGEREVENT<24> Service is notified when an event for which the service has registered occurs. dwWin32ExitCode: An error code that the service uses to report an error that occurs when it is starting or stopping.
SERVICE_CONTINUE_PENDING SERVICE_RUNNING The service asks the server to set its service status to SERVICE_RUNNING using the SetServiceStatus function if it is ready to resume. For more information, see SERVICE_CONTINUE_PENDING SERVICE_STOP_PENDING A client calls the ControlService or ControlServiceEx functions with SERVICE_CONTROL_STOP to stop the service. The server sets the service's status to SERVICE_STOPPED. For more information, see and The service asks the server to set its service status to SERVICE_STOP_PENDING using the SetServiceStatus function if it receives a stop request while it is resuming and requires more time to stop. For more information, see [MSDN-SetSvcStatus]. The server a service at system shutdown. SERVICE_CONTINUE_PENDING SERVICE_STOPPED A client calls the ControlService or ControlServiceEx functions with SERVICE_CONTROL_STOP to stop the service. The server sets the service's status to SERVICE_STOPPED. For more information, see and The service asks the server to set its service status to SERVICE_STOPPED the SetServiceStatus function if it receives a stop request while it is resuming and is ready to stop. For more information, see [MSDN-SetSvcStatus]. The server stops a service at system shutdown. The Service Control Manager Remote Protocol is used to manage these services on a remote machine by operating on the SCM on that machine.
includes Delete (DE), Read Control (RC), Write DACL (WD), and Write Owner (WO) access, as specified in ACCESS_MASK (section 2.4.3) of [MS-DTYP]. SERVICE_CHANGE_CONFIG 0x00000002 Required to change the configuration of a service. SERVICE_ENUMERATE_DEPENDENTS 0x00000008 Required to enumerate the services installed on the server. SERVICE_INTERROGATE 0x00000080 Required to request immediate status from the service. SERVICE_PAUSE_CONTINUE 0x00000040 Required to pause or continue the service. SERVICE_QUERY_CONFIG 0x00000001 Required to query the service configuration. SERVICE_QUERY_STATUS 0x00000004 Required to request the service status. SERVICE_START 0x00000010 Required to start the service. SERVICE_STOP 0x00000020 Required to stop the service. SERVICE_USER_DEFINED_CONTROL 0x00000100 Required to specify a control code. SERVICE_SET_STATUS 0x00008000 Required for a service to set its status. Specific access types for Service Control Manager object: Value Meaning SC_MANAGER_LOCK 0x00000008 Required to lock the SCM database. SC_MANAGER_CREATE_SERVICE 0x00000002 Required for a service to be created. SC_MANAGER_ENUMERATE_SERVICE 0x00000004 Required to enumerate a service. SC_MANAGER_CONNECT 0x00000001 Required to connect to the SCM. SC_MANAGER_QUERY_LOCK_STATUS 0x00000010 Required to query the lock status of the SCM database.
A 49 49 140 11 C 11 165 13 13 48 140 D 49 49 13 13 E 16 17 16 16 48 Events 140 140 142 142 F 12 144 G 7 I 144 143 143 10 58 58 7 L 140 140 16 17 16 16 17 19 21 21 22 31 32 32 34 33 34 47 37 40 38 38 41 43 43 M 47 58 58 Messages 13 13 13 13 13 13 13 Methods 112 113 92 73 133 63 63 134 137 95 77 124 128 66 99 81 110 101 119 121 82 133 108 90 109
91 66 72 131 103 84 104 85 114 116 105 139 86 106 87 67 69 118 68 70 106 88 72 N 10 O 11 P 143 11 11 158 Protocol Details 49 24 26 29 31 35 36 44 46 43 43 43 Q 17 19 21 21 R 112 112 113 113 92 92 73 73 133 133 63 63 63 63 134 134 137 137 95 95 77 77 124 124 128 128 66 66 10 10 10 11 99 99 81 81 110 110 101 101 119 119 121 121 82 82 133 133 108 108 90 90 109 109 91 91 66 66 72 72 131 131 103 103 84 84 104 104
85 85 141 114 114 116 116 105 105 139 139 86 86 106 106 87 87 67 67 69 69 118 118 68 68 70 70 106 106 88 88 72 72 S 22 21 22 47 47 47 47 47 47 47 47 47 22 23 23 24 24 26 Security 143 143 143 58 58 Server 49 58 140 58 112 113 92 73 133 63 63 134 137 95 77 124 128 66 99 81 110 101 119 121 82 133 108 90 109 91 66 72 131 103 84 104 85 114 116 105 139 86 106 87 67 69 118 68 70 106 88 72 58 140 57 13 26 29 31 31 32 32 32 34 32 33 34 35 36