Platform SDK: DLLs, Processes, and Threads

JOBOBJECT_END_OF_JOB_TIME_INFORMATION

The JOBOBJECT_END_OF_JOB_TIME_INFORMATION structure specifies the action the system will perform when an end-of-job time limit is exceeded.

typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
    DWORD EndOfJobTimeAction;
} JOBOBJECT_END_OF_JOB_TIME_INFORMATION, PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;

Members

EndOfJobTimeAction
Specifies the action that the system will perform when the end-of-job time limit has been exceeded. This member can be one of the following values.
Value Meaning
JOB_OBJECT_TERMINATE_AT_END_OF_JOB Terminates all processes and sets the exit status to ERROR_NOT_ENOUGH_QUOTA. The processes cannot prevent or delay their own termination. The job object is set to the signaled state and remains signaled until this limit is reset. No additional processes can be assigned to the job until the limit is reset.

This is the default termination action.

JOB_OBJECT_POST_AT_END_OF_JOB Posts a completion packet to the completion port using the PostQueuedCompletionStatus function. After the completion packet is posted, the system clears the end-of-job time limit, and processes in the job can continue their execution.

If no completion port is associated with the job when the time limit has been exceeded, the action taken is the same as for JOB_OBJECT_TERMINATE_AT_END_OF_JOB.


Remarks

The end-of-job time limit is specified in the PerJobUserTimeLimit member of the JOBOBJECT_BASIC_LIMIT_INFORMATION structure.

To associate a completion port with a job, use the JOBOBJECT_ASSOCIATE_COMPLETION_PORT structure.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Unsupported.
  Header: Declared in Winnt.h; include Windows.h.

See Also

Processes and Threads Overview, Process and Thread Structures, JOBOBJECT_ASSOCIATE_COMPLETION_PORT, JOBOBJECT_BASIC_LIMIT_INFORMATION, PostQueuedCompletionStatus, QueryInformationJobObject, SetInformationJobObject