estrutura JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 (winnt.h)
Contém informações estendidas sobre limites de notificação de recursos que foram excedidos para um objeto de trabalho. Essa estrutura é usada com a função QueryInformationJobObject com a classe de informações JobObjectLimitViolationInformation2 .
Sintaxe
typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
DWORD LimitFlags;
DWORD ViolationLimitFlags;
DWORD64 IoReadBytes;
DWORD64 IoReadBytesLimit;
DWORD64 IoWriteBytes;
DWORD64 IoWriteBytesLimit;
LARGE_INTEGER PerJobUserTime;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD64 JobMemory;
union {
DWORD64 JobHighMemoryLimit;
DWORD64 JobMemoryLimit;
} DUMMYUNIONNAME;
union {
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance;
} DUMMYUNIONNAME2;
union {
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit;
} DUMMYUNIONNAME3;
DWORD64 JobLowMemoryLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2;
Membros
LimitFlags
Sinalizadores que identificam os limites de notificação em vigor para o trabalho. Esse membro é um campo de bits que determina se outros membros da estrutura são usados. Esse membro pode ser qualquer combinação dos valores a seguir.
ViolationLimitFlags
Sinalizadores que identificam os limites de notificação que foram excedidos. Esse membro é um campo de bits que determina se outros membros da estrutura são usados. Esse membro pode ser qualquer combinação dos valores a seguir.
IoReadBytes
Se o membro ViolationLimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_READ_BYTES, esse membro conterá o total de bytes de leitura de E/S para todos os processos no trabalho no momento em que a notificação foi enviada.
IoReadBytesLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_READ_BYTES, esse membro conterá o limite de notificação de bytes de leitura de E/S em vigor para o trabalho.
IoWriteBytes
Se o membro ViolationLimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, esse membro conterá o total de bytes de gravação de E/S para todos os processos no trabalho no momento em que a notificação foi enviada.
IoWriteBytesLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, esse membro conterá o limite de notificação de bytes de gravação de E/S em vigor para o trabalho.
PerJobUserTime
Se o membro ViolationLimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_TIME, esse membro conterá o tempo total de execução do modo de usuário para todos os processos no trabalho no momento em que a notificação foi enviada.
PerJobUserTimeLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_TIME, esse membro conterá o limite de notificação de execução no modo de usuário em vigor para o trabalho.
JobMemory
Se o membro ViolationLimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH ou JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, esse membro conterá a memória confirmada para todos os processos no trabalho no momento em que a notificação foi enviada.
DUMMYUNIONNAME
DUMMYUNIONNAME.JobHighMemoryLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, esse membro conterá o limite máximo de memória confirmado em vigor para o trabalho.
DUMMYUNIONNAME.JobMemoryLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_MEMORY, esse membro conterá o limite máximo de memória confirmado em vigor para o trabalho.
DUMMYUNIONNAME2
DUMMYUNIONNAME2.RateControlTolerance
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_RATE_CONTROL, esse membro especificará até que ponto o trabalho excedeu seus limites de controle de taxa de CPU no momento em que a notificação foi enviada. Esse membro pode ser um dos valores a seguir.
DUMMYUNIONNAME2.CpuRateControlTolerance
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, esse membro especificará até que ponto o trabalho excedeu seus limites de controle de taxa de CPU no momento em que a notificação foi enviada. Esse membro pode ser um dos valores a seguir.
DUMMYUNIONNAME3
DUMMYUNIONNAME3.RateControlToleranceLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_RATE_CONTROL, esse membro conterá os limites de notificação de controle de taxa de CPU especificados para o trabalho.
DUMMYUNIONNAME3.CpuRateControlToleranceLimit
Se o parâmetro LimitFlagsespecificar JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, esse membro conterá os limites de notificação de controle de taxa de CPU especificados para o trabalho.
JobLowMemoryLimit
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, esse membro conterá o limite mínimo de memória confirmado em vigor para o trabalho.
IoRateControlTolerance
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_IO_RATE_CONTROL, esse membro especificará até que ponto o trabalho excedeu seus limites de controle de taxa de E/S no momento em que a notificação foi enviada. Esse membro pode ser um dos valores a seguir.
IoRateControlToleranceLimit
Se o parâmetro LimitFlagsespecificar JOB_OBJECT_LIMIT_IO_RATE_CONTROL, esse membro conterá os limites de notificação de controle de taxa de E/S especificados para o trabalho.
NetRateControlTolerance
Se o membro LimitFlagsespecificar JOB_OBJECT_LIMIT_NET_RATE_CONTROL, esse membro especificará até que ponto o trabalho excedeu seus limites de controle de taxa de rede no momento em que a notificação foi enviada. Esse membro pode ser um dos valores a seguir.
NetRateControlToleranceLimit
Se o parâmetro LimitFlagsespecificar JOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL, esse membro conterá os limites de notificação de controle de taxa de rede especificados para o trabalho.
Comentários
Quando qualquer limite de notificação especificado em uma estrutura de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 é excedido, o sistema envia uma mensagem de JOB_OBJECT_MSG_NOTIFICATION_LIMIT para a porta de conclusão de E/S associada ao trabalho.
Para recuperar informações sobre os limites que foram excedidos, o aplicativo que monitora a porta de conclusão de E/S deve chamar a função QueryInformationJobObject com a classe de informações JobObjectLimitViolationInformation2 e um ponteiro para uma estrutura JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2016 [somente aplicativos da área de trabalho] |
Cabeçalho | winnt.h |