Función SetInformationJobObject (jobapi2.h)

Establece límites para un objeto de trabajo.

Sintaxis

BOOL SetInformationJobObject(
  [in] HANDLE             hJob,
  [in] JOBOBJECTINFOCLASS JobObjectInformationClass,
  [in] LPVOID             lpJobObjectInformation,
  [in] DWORD              cbJobObjectInformationLength
);

Parámetros

[in] hJob

Identificador del trabajo cuyos límites se establecen. La función CreateJobObject o OpenJobObject devuelve este identificador. El identificador debe tener el derecho de acceso JOB_OBJECT_SET_ATTRIBUTES . Para obtener más información, vea Derechos de acceso y seguridad de objetos de trabajo.

[in] JobObjectInformationClass

Clase de información para los límites que se van a establecer. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
JobObjectAssociateCompletionPortInformation
7
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_ASSOCIATE_COMPLETION_PORT .
JobObjectBasicLimitInformation
2
El parámetro lpJobObjectInfo es un puntero a una estructura de JOBOBJECT_BASIC_LIMIT_INFORMATION .
JobObjectBasicUIRestrictions
4
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_BASIC_UI_RESTRICTIONS .
JobObjectCpuRateControlInformation
15
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_CPU_RATE_CONTROL_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite.

Si la programación dinámica de recursos compartidos justos (DFSS) está habilitada, no se puede establecer la velocidad de CPU y SetInformationJobObject generará el código de error 50 ("No se admite la solicitud").

JobObjectEndOfJobTimeInformation
6
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_END_OF_JOB_TIME_INFORMATION .
JobObjectExtendedLimitInformation
9
El parámetro lpJobObjectInfo es un puntero a una estructura de JOBOBJECT_EXTENDED_LIMIT_INFORMATION .
JobObjectGroupInformation
11
El parámetro lpJobObjectInfo es un puntero a un valor de USHORT que especifica la lista de grupos de procesadores a los que asignar el trabajo. El parámetro cbJobObjectInfoLength se establece en el tamaño de los datos del grupo. Divida este valor por sizeof(USHORT) para determinar el número de grupos.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite.

JobObjectGroupInformationEx
14
El parámetro lpJobObjectInfo es un puntero a un búfer que contiene una matriz de estructuras de GROUP_AFFINITY que especifican la afinidad del trabajo para los grupos de procesadores a los que está asignado actualmente el trabajo. El parámetro cbJobObjectInfoLength se establece en el tamaño de los datos de afinidad de grupo. Divida este valor por sizeof(GROUP_AFFINITY) para determinar el número de grupos.

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite.

JobObjectLimitViolationInformation2
34
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: esta marca no se admite.

JobObjectNetRateControlInformation
32
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_NET_RATE_CONTROL_INFORMATION .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: esta marca no se admite.

JobObjectNotificationLimitInformation
12
El parámetro lpJobObjectInfo es un puntero a una estructura de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite.

JobObjectNotificationLimitInformation2
33
El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: esta marca no se admite.

JobObjectSecurityLimitInformation
5
Esta marca no se admite. Las aplicaciones deben establecer limitaciones de seguridad individualmente para cada proceso.

Windows Server 2003 y Windows XP: El parámetro lpJobObjectInfo es un puntero a una estructura JOBOBJECT_SECURITY_LIMIT_INFORMATION . El identificador hJob debe tener el derecho de acceso JOB_OBJECT_SET_SECURITY_ATTRIBUTES asociado.

[in] lpJobObjectInformation

Límites o estado del trabajo que se va a establecer para el trabajo. El formato de estos datos depende del valor de JobObjectInfoClass.

[in] cbJobObjectInformationLength

Tamaño de la información del trabajo que se establece, en bytes.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Use la función SetInformationJobObject para establecer varios límites en una sola llamada. Para establecer los límites de uno en uno o cambiar un subconjunto de los límites, llame a la función QueryInformationJobObject para obtener los límites actuales, modifique estos límites y, a continuación, llame a SetInformationJobObject.

Debe establecer los límites de seguridad individualmente para cada proceso asociado a un objeto de trabajo, en lugar de establecerlos para el propio objeto de trabajo. Para obtener información, consulte Derechos de acceso y seguridad de procesos.

Windows Server 2003 y Windows XP: Use la función SetInformationJobObject para establecer límites de seguridad para el objeto de trabajo.

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0500 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado jobapi2.h (incluir Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

JOBOBJECT_ASSOCIATE_COMPLETION_PORT

JOBOBJECT_BASIC_LIMIT_INFORMATION

JOBOBJECT_BASIC_UI_RESTRICTIONS

JOBOBJECT_CPU_RATE_CONTROL_INFORMATION

JOBOBJECT_END_OF_JOB_TIME_INFORMATION

JOBOBJECT_EXTENDED_LIMIT_INFORMATION

JOBOBJECT_LIMIT_VIOLATION_INFORMATION

JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2

JOBOBJECT_NET_RATE_CONTROL_INFORMATION

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

JOBOBJECT_SECURITY_LIMIT_INFORMATION

Objetos de trabajo

Derechos de seguridad y acceso de procesos

Funciones de proceso y subproceso

QueryInformationJobObject