Función NetScheduleJobAdd (lmat.h)

[NetScheduleJobAdd ya no está disponible para su uso a partir de Windows 8. En su lugar, use las interfaces del Programador de tareas 2.0.

]

La función NetScheduleJobAdd envía un trabajo para que se ejecute en una fecha y hora futuras especificadas. Esta función requiere que se inicie el servicio de programación en el equipo al que se envía el trabajo.

Sintaxis

NET_API_STATUS NET_API_FUNCTION NetScheduleJobAdd(
  [in, optional] LPCWSTR Servername,
  [in]           LPBYTE  Buffer,
  [out]          LPDWORD JobId
);

Parámetros

[in, optional] Servername

Puntero a una cadena constante que especifica el nombre DNS o NetBIOS del servidor remoto en el que se va a ejecutar la función. Si este parámetro es NULL, se usa el equipo local.

[in] Buffer

Puntero a una estructura de AT_INFO que describe el trabajo que se va a enviar. Para obtener más información sobre cómo programar trabajos con diferentes propiedades de trabajo, vea la sección Comentarios siguientes y Los búferes de funciones de administración de red.

[out] JobId

Puntero que recibe un identificador de trabajo para el trabajo recién enviado. Esta entrada solo es válida si la función devuelve correctamente.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto se NERR_Success.

Si se produce un error en la función, el valor devuelto es un código de error del sistema. Para obtener una lista de códigos de error, consulte Códigos de error del sistema.

Comentarios

Normalmente, solo los miembros del grupo de administradores locales en el equipo en el que se agrega el trabajo de programación pueden ejecutar correctamente esta función. Si el nombre del servidor pasado en la cadena a la que apunta el parámetro Servername es un servidor remoto, solo los miembros del grupo administradores locales del servidor remoto pueden ejecutar correctamente esta función.

Si el siguiente valor del Registro tiene el bit menos significativo establecido (por ejemplo, 0x00000001), los usuarios que pertenecen al grupo Operadores de servidor también pueden ejecutar correctamente esta función.

HKLM\System\CurrentControlSet\Control\Lsa\SubmitControl

A continuación se muestran ejemplos de cómo programar trabajos mediante diferentes propiedades compatibles con la función NetScheduleJobAdd .

Para programar un trabajo que se ejecuta una vez:

  • Establezca el miembro DaysOfMonth de la estructura AT_INFO en cero.
  • Establezca el miembro DaysOfWeek de la estructura AT_INFO en cero.
  • Establezca el miembro JobTime de la estructura AT_INFO en el momento en que se debe ejecutar el trabajo.
El trabajo se ejecuta en el momento especificado por el miembro JobTime de la estructura AT_INFO a la que apunta el parámetro Buffer . Una vez ejecutado el trabajo, se elimina.

Para programar y eliminar un trabajo que se ejecuta varias veces:

  • Establezca los bits adecuados en el miembro DaysOfMonth de la estructura AT_INFO o
  • Establezca los bits adecuados en el miembro DaysOfWeek de la estructura AT_INFO .
  • Establezca el miembro JobTime de la estructura AT_INFO en el momento en que se debe ejecutar el trabajo.
Nota No es necesario establecer los miembros DaysOfMonth y DaysOfWeek de la estructura AT_INFO .
 
El trabajo se ejecuta en el momento especificado por el miembro JobTime de la estructura AT_INFO a la que apunta el parámetro Buffer , una vez por cada día establecido en los miembros DaysOfMonth o DaysOfWeek de la estructura AT_INFO . Una vez que se ejecuta cada trabajo, se borra el bit correspondiente. Cuando se borra el último bit, se elimina el trabajo.

Para programar un trabajo que se ejecuta periódicamente:

  • Establezca los bits adecuados en el miembro DaysOfMonth de la estructura AT_INFO o
  • Establezca los bits adecuados en el miembro DaysOfWeek de la estructura AT_INFO .
  • Establezca el miembro JobTime de la estructura AT_INFO en el momento en que se debe ejecutar el trabajo.
  • Establezca la marca de envío del trabajo JOB_RUN_PERIODICALLY en el miembro Flags de la estructura AT_INFO .
Nota No es necesario establecer los miembros DaysOfMonth y DaysOfWeek de la estructura AT_INFO .
 
El trabajo se ejecutará periódicamente, en el momento especificado por el miembro JobTime de la estructura AT_INFO a la que apunta el parámetro Buffer , cada día establecido en el miembro DaysOfMonth o DaysOfWeek de la estructura AT_INFO . El trabajo no se eliminará como resultado de las ejecuciones repetidas. La única manera de eliminar el trabajo es mediante una llamada explícita a la función NetScheduleJobDel .

Consulte la estructura de AT_INFO para obtener una descripción de las máscaras de bits de la propiedad DaysOfWeek, DaysOfMonth y job.

En Windows 2000, se combinaron el servicio AT anterior y el Programador de tareas. El servicio Programador de tareas solo era preciso para el minuto. Por lo tanto, la función NetScheduleJobAdd solo usa horas y minutos especificados en el miembro JobTime de la estructura AT_INFO cuando se programa un trabajo para ejecutarse.

A partir de Windows Vista, la precisión del programador de tareas se ha aumentado al segundo. Por lo tanto, la función NetScheduleJobAdd usa solo las horas, minutos y segundos especificados en el miembro JobTime de la estructura AT_INFO cuando se programa un trabajo para ejecutarse.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmat.h (include Lmat.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

AT_INFO

NetScheduleJobDel

NetScheduleJobEnum

NetScheduleJobGetInfo

Funciones de administración de red

Introducción a la administración de redes

Programar funciones