The following table shows the Services.exe IOCTLS with a description of the purpose of each.
| Programming element | Description | 
|---|---|
| IOCTL_SERVICE_CALLBACK_FUNCTIONS | This IOCTL provides a pointer to a callback function. | 
| IOCTL_SERVICE_COMMAND_LINE_PARAMS | This IOCTL indicates that arguments from the Services.exe command line are being passed to the service. | 
| IOCTL_SERVICE_CONNECTION | This IOCTL provides a pointer to the accepted Windows socket. | 
| IOCTL_SERVICE_CONSOLE | This IOCTL turns a service's console on or off, depending on whether an "on" or "off" string is passed as an input parameter. | 
| IOCTL_SERVICE_CONTROL | This IOCTL contains information specific to a certain service passed by the calling application. | 
| IOCTL_SERVICE_DEBUG | This IOCTL sets the debug state of a service. | 
| IOCTL_SERVICE_DEREGISTER_SOCKADDR | This IOCTL is passed as an input parameter along with the sockaddr structure when Services.exe calls the xxx_IOControl (Services.exe) function to register a service. | 
| IOCTL_SERVICE_INSTALL | This IOCTL causes a service to configure the registry for the service to be automatically loaded on system initialization. | 
| IOCTL_SERVICE_NOTIFY_ADDR_CHANGE | This IOCTL is passed as an input parameter along when Services.exe notifies every running service of address changes in the system. | 
| IOCTL_SERVICE_QUERY_CAN_DEINIT | Services.exe calls the service's xxx_IOControl (Services.exe) function with this IOCTL as an input parameter before calling the xxx_Deinit (Services.exe) function in response to an application calling DeregisterService on a service. | 
| IOCTL_SERVICE_REFRESH | This IOCTL causes a service to refresh its configuration parameters. | 
| IOCTL_SERVICE_REGISTER_SOCKADDR | This IOCTL is passed as an input parameter along with the sockaddr structure when Services.exe calls the xxx_IOControl (Services.exe) function to register a service. | 
| IOCTL_SERVICE_START | This IOCTL starts a service that was previously in the start state. | 
| IOCTL_SERVICE_STARTED | This IOCTL is sent to the service to indicate that all super service ports that are automatically created on service startup have been opened. | 
| IOCTL_SERVICE_STATUS | This IOCTL returns the current running state of the service. | 
| IOCTL_SERVICE_STOP | This IOCTL stops the service. | 
| IOCTL_SERVICE_UNINSTALL | This IOCTL causes a service to remove registry configuration for its auto-loading on system initialization. | 
| IOCTL_SERVICE_UNLOAD | This IOCTL is deprecated and should never be used. To cause a service to be unloaded, use the DeregisterService function instead. | 
| IOCTL_SERVICE_CALLBACK_FUNCTIONS | This IOCTL provides a pointer to a callback function. | 
Send Feedback on this topic to the authors