Função SetInformationJobObject (jobapi2.h)
Define limites para um objeto de trabalho.
Sintaxe
BOOL SetInformationJobObject(
[in] HANDLE hJob,
[in] JOBOBJECTINFOCLASS JobObjectInformationClass,
[in] LPVOID lpJobObjectInformation,
[in] DWORD cbJobObjectInformationLength
);
Parâmetros
[in] hJob
Um identificador para o trabalho cujos limites estão sendo definidos. A função CreateJobObject ou OpenJobObject retorna esse identificador. O identificador deve ter o direito de acesso JOB_OBJECT_SET_ATTRIBUTES . Para obter mais informações, consulte Segurança do objeto de trabalho e direitos de acesso.
[in] JobObjectInformationClass
A classe de informações para os limites a serem definidos. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_ASSOCIATE_COMPLETION_PORT . |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_BASIC_LIMIT_INFORMATION . |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_BASIC_UI_RESTRICTIONS . |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_CPU_RATE_CONTROL_INFORMATION .
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. Se o DFSS (Dynamic Fair Share Scheduling) estiver habilitado, a taxa de CPU não poderá ser definida e SetInformationJobObject falhará com o código de erro 50 ("Não há suporte para a solicitação"). |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_END_OF_JOB_TIME_INFORMATION . |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_EXTENDED_LIMIT_INFORMATION . |
|
O parâmetro lpJobObjectInfo é um ponteiro para um valor USHORT que especifica a lista de grupos de processadores aos quais atribuir o trabalho. O parâmetro cbJobObjectInfoLength é definido como o tamanho dos dados do grupo. Divida esse valor por sizeof(USHORT) para determinar o número de grupos.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
O parâmetro lpJobObjectInfo é um ponteiro para um buffer que contém uma matriz de estruturas GROUP_AFFINITY que especificam a afinidade do trabalho para os grupos de processadores aos quais o trabalho está atribuído no momento. O parâmetro cbJobObjectInfoLength é definido como o tamanho dos dados de afinidade de grupo. Divida esse valor por sizeof(GROUP_AFFINITY) para determinar o número de grupos.
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura 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 e Windows XP: não há suporte para esse sinalizador. |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura 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 e Windows XP: não há suporte para esse sinalizador. |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura 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 e Windows XP: não há suporte para esse sinalizador. |
|
Não há suporte para esse sinalizador. Os aplicativos devem definir limitações de segurança individualmente para cada processo.
Windows Server 2003 e Windows XP: O parâmetro lpJobObjectInfo é um ponteiro para uma estrutura JOBOBJECT_SECURITY_LIMIT_INFORMATION . O identificador hJob deve ter o acesso JOB_OBJECT_SET_SECURITY_ATTRIBUTES associado a ele. |
[in] lpJobObjectInformation
Os limites ou o estado do trabalho a ser definido para o trabalho. O formato desses dados depende do valor de JobObjectInfoClass.
[in] cbJobObjectInformationLength
O tamanho das informações de trabalho que estão sendo definidas, em bytes.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Use a função SetInformationJobObject para definir vários limites em uma única chamada. Para estabelecer os limites um de cada vez ou alterar um subconjunto dos limites, chame a função QueryInformationJobObject para obter os limites atuais, modifique esses limites e chame SetInformationJobObject.
Você deve definir limites de segurança individualmente para cada processo associado a um objeto de trabalho, em vez de defini-los para o próprio objeto de trabalho. Para obter informações, consulte Direitos de acesso e segurança do processo.
Windows Server 2003 e Windows XP: Use a função SetInformationJobObject para definir limites de segurança para o objeto de trabalho.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0500 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | jobapi2.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |
Confira também
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