CAccessToken::CreateProcessAsUser
Chamar esse método para criar um novo processo que é executado no contexto de segurança do usuário representado pelo objeto de CAccessToken .
bool CreateProcessAsUser(
LPCTSTR pApplicationName,
LPTSTR pCommandLine,
LPPROCESS_INFORMATION pProcessInformation,
LPSTARTUPINFO pStartupInfo,
DWORD dwCreationFlags = NORMAL_PRIORITY_CLASS,
bool bLoadProfile = false,
const CSecurityAttributes* pProcessAttributes = NULL,
const CSecurityAttributes* pThreadAttributes = NULL,
bool bInherit = false,
LPCTSTR pCurrentDirectory = NULL
) throw( );
Parâmetros
pApplicationName
Ponteiro para uma cadeia de caracteres NULL- finalizada que especifica o módulo para executar.Este parâmetro não pode ser NULO.pCommandLine
Ponteiro para uma cadeia de caracteres NULL- finalizada que especifica a linha de comando para executar.pProcessInformation
Ponteiro a estrutura de PROCESS_INFORMATION que recebe informações de identificação sobre o novo processo.pStartupInfo
Ponteiro a estrutura de STARTUPINFO que especifica como a janela principal para o novo processo deve aparecer.dwCreationFlags
Especifica os sinalizadores adicionais que controlam a classe de prioridade e a criação do processo.Consulte a função CreateProcessAsUser Win32 para obter uma lista de sinalizadores.bLoadProfile
Se verdadeiro, o perfil de usuário é carregada com LoadUserProfile.pProcessAttributes
Ponteiro a estrutura de SECURITY_ATTRIBUTES que especifica um descritor de segurança para o novo processo e determine se os identificadores podem herdar a alça retornado.Se os pProcessAttributes são NULOS, o processo obtém um descritor de segurança padrão e tratar não pode ser herdada.pThreadAttributes
Ponteiro a estrutura de SECURITY_ATTRIBUTES que especifica um descritor de segurança para o novo segmento e determine se os identificadores podem herdar a alça retornado.Se os pThreadAttributes são NULOS, o segmento obtém um descritor de segurança padrão e tratar não pode ser herdada.bInherit
Indica se o novo processo herda o processo de chamada.Se verdadeiro, cada identificador herdável aberta no processo de chamada é herdada pelo novo processo.As alças herdadas têm o mesmo valor e privilégios de acesso que o original.pCurrentDirectory
Ponteiro para uma cadeia de caracteres NULL- finalizada que especifica a unidade e o diretório atual para o novo processo.A cadeia de caracteres deve ser um caminho completo que inclui uma letra da unidade.Se esse parâmetro é NULO, o novo processo terá o mesmo diretório e unidade atual que o processo de chamada.
Valor de retorno
Retorna verdadeiros em êxito, falso em caso de falha.
Comentários
CreateProcessAsUser usa a função CreateProcessAsUser do Win32 para criar um novo processo executado no contexto de segurança do usuário representam pelo objeto de CAccessToken .Consulte a descrição da função de CreateProcessAsUser para uma discussão completa dos parâmetros necessários.
Para este método foi bem-sucedida, o objeto de CAccessToken deve conter AssignPrimaryToken (a menos que é um token estrito) e privilégios de IncreaseQuota.
Requisitos
Cabeçalho: atlsecurity.h