JOBOBJECT_END_OF_JOB_TIME_INFORMATION

[This is preliminary documentation and subject to change.]

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 object 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 object 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 object, use the JOBOBJECT_ASSOCIATE_COMPLETION_PORT structure.

QuickInfo

  Windows NT: Requires version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winnt.h.

See Also

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