estrutura OB_PRE_CREATE_HANDLE_INFORMATION (wdm.h)
A estrutura OB_PRE_CREATE_HANDLE_INFORMATION fornece informações para uma rotina ObjectPreCallback sobre um thread ou identificador de processo que está sendo aberto.
Sintaxe
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
Membros
DesiredAccess
Um valor ACCESS_MASK que especifica os direitos de acesso a serem concedidos para o identificador. Por padrão, esse membro é igual a OriginalDesiredAccess, mas a rotina ObjectPreCallback pode modificar esse valor para restringir o acesso concedido.
Os drivers podem usar os seguintes sinalizadores para identificadores para processos:
Sinalizador | Operações permitidas |
---|---|
PROCESS_CREATE_PROCESS | Crie um novo processo filho do processo. |
PROCESS_CREATE_THREAD | Crie um novo thread no contexto do processo. |
PROCESS_DUP_HANDLE | Identificadores duplicados de ou para o contexto do processo, como chamando a rotina DuplicateHandle do modo de usuário. |
PROCESS_SET_QUOTA | Defina o tamanho do conjunto de trabalho para o processo, como chamando a rotina SetProcessWorkingSetSize do modo de usuário. |
PROCESS_SET_INFORMATION | Modifique as configurações do processo, como chamando a rotina SetPriorityClass do modo de usuário. |
PROCESS_SUSPEND_RESUME | Suspender ou retomar o processo. |
PROCESS_TERMINATE | Encerre o processo, como chamando a rotina TerminateProcess do modo de usuário.. |
PROCESS_VM_OPERATION | Modifique o espaço de endereço do processo, como chamando as rotinas WriteProcessMemory e VirtualProtectEx do modo de usuário. |
PROCESS_VM_WRITE | Escreva no espaço de endereço do processo, como chamando a rotina WriteProcessMemory no modo de usuário. |
Os drivers podem usar os seguintes sinalizadores para identificadores para threads:
Sinalizador | Operações permitidas |
---|---|
THREAD_DIRECT_IMPERSONATION | Habilite um thread de servidor para representar um de seus clientes. |
THREAD_IMPERSONATE | Represente o token de logon anônimo do sistema operacional, como chamando a rotina ImpersonateAnonymousToken no modo de usuário. |
THREAD_SET_CONTEXT | Modifique o contexto de execução do thread, como chamando a rotina SetThreadContext do modo de usuário. |
THREAD_SET_INFORMATION | Modifique as configurações de thread, como chamando a rotina setThreadIdealProcessor do modo de usuário. As operações permitidas por esse direito de acesso são um superconjunto daqueles permitidos pelo direito de acesso THREAD_SET_LIMITED_INFORMATION. |
THREAD_SET_LIMITED_INFORMATION | Modifique um conjunto limitado de configurações de thread, como chamando as rotinas SetThreadAffinityMask e SetThreadPriorityBoost no modo de usuário. |
THREAD_SET_THREAD_TOKEN | Modifique as propriedades do token de representação do thread, como chamando a rotina SetTokenInformation do modo de usuário. |
THREAD_SUSPEND_RESUME | Suspenda ou retome o thread, como chamando as rotinas SuspendThread e ResumeThread no modo de usuário. |
THREAD_TERMINATE | Encerre o thread, como chamando a rotina TerminateThread do modo de usuário. |
OriginalDesiredAccess
Um valor ACCESS_MASK que especifica o acesso original que foi solicitado para o identificador.
Comentários
Você nunca pode adicionar direitos de acesso além do especificado no membro DesiredAccess . Se o direito de acesso estiver listado como um sinalizador modificável, o direito de acesso poderá ser removido.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Server 2008 e versões posteriores do sistema operacional Windows. |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |