Compartilhar via


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)

Confira também

ACCESS_MASK

ObjectPreCallback