(PECL win32service >=0.1.0)
win32_create_service — Crea una nueva entrada de servicio en la base de datos del ACS
detailsUna matriz con los detalles del servicio:
serviceEl nombre corto del servicio. Éste es el nombre que se debe usar para controlar el servicio utilizando el comando net. El servicio debe ser único (dos servicios no pueden compartir el mismo nombre), y lo ideal sería evitar que el nombre contenga espacios.
displayEl nombre para mostrar del servicio. Éste es el nombre que se verá en la Aplicación de Servicios.
descriptionLa descripción larga del servicio. Ésta es la descripción que verá en el Services Applet.
userEl nombre de la cuenta de usuario bajo la cuál se quiere ejecutar el servicio. Si se omite, el servicio se ejecutará como la cuenta LocalSystem. Si se especifica el nombre de usuario, también se debe proporcionar una contraseña.
password
           La contraseña que se corresponde con user.
          
pathLa ruta completa de módulo ejecutable que será lanzado cuando el servicio es iniciado. Si se omite, se usará la ruta del proceso de PHP actual.
paramsParámetros de línea de comandos a pasar al servicio cuando se inicia. Si quiere ejecutar un script de PHP como un servicio, el primer parámetro debería ser la ruta completa del script de PHP que intenta ejecutar. Si el nombre del script o la ruta contiene espacios encierre la ruta completa del script PHP con ".
load_orderControla el orden de carga. Ésto aún no está completamente soportado.
svc_type
           Establece el tipo de servicio. Si se omite, el valor por defecto es
           WIN32_SERVICE_WIN32_OWN_PROCESS.
           No cambie esto a menos que sepa lo que está haciendo.
          
start_type
           Especifica cómo debería iniciarse el servicio. Por defecto es
           WIN32_SERVICE_AUTO_START lo que significa que el
           servicio será lanzado cuando se encienda la máquina.
          
error_control
           Informa al ACS qué debería hacer cuando detecta un problema con
           el servicio. Por defecto es
           WIN32_SERVER_ERROR_IGNORE. El cambio de este
           valor no está aún soportado completamente.
          
delayed_start
           Si delayed_start está establecido a TRUE,
           informará al SCM que este servicio debería ser iniciado después que otros
           servicios con autoinicio, más una pequeña demora.
          
           Cualquier servicio puede ser marcado como un servicio con autoinicio demorado; sin embargo
           este ajuste no tiene efecto a menos que el parámetro
           start_type del servicio sea
           WIN32_SERVICE_AUTO_START.
          
Este ajuste sólo es aplicable en Windows Vista y Windows Server 2008 o superior.
base_priorityPara reducir el impacto en el uso del procesador, puede ser necesario para establecer una prioridad base más baja de lo normal.
           base_priority puede establecerse a una de las
           constantes definidas en
           Clases de Prioridad Base de Win32.
          
machineEl nombre opcional de la máquina en la que quiere crear el servicio. Si se omite, se usará la máquina local.
   Devuelve WIN32_NO_ERROR en caso de éxito, FALSE si hay un problema con los parámetros o Código de error Win32 en caso de error.
  
Ejemplo #1 Un ejemplo de win32_create_service()
Crear un servicio con el nombre abreviado 'dummyphp'.
<?php
$x = win32_create_service(array(
    'service'     => 'dummyphp',                                          # el nombre de su servicio
    'display'     => 'ejemplo de servicio PHP',                           # descripción abreviada
    'description' => 'Este es un servicio de Windows creado usando PHP.', # descripción larga
    'params'      => '"' . __FILE__ . '"  run',                           # ruta del script y parámetros
));
debug_zval_dump($x);
?>