Função SHEvaluateSystemCommandTemplate (shellapi.h)

Impõe a validação estrita de parâmetros usados em uma chamada para CreateProcess ou ShellExecute.

Sintaxe

SHSTDAPI SHEvaluateSystemCommandTemplate(
  [in]            PCWSTR pszCmdTemplate,
  [out]           PWSTR  *ppszApplication,
  [out, optional] PWSTR  *ppszCommandLine,
  [out, optional] PWSTR  *ppszParameters
);

Parâmetros

[in] pszCmdTemplate

Tipo: PCWSTR

Uma linha de comando, que pode ou não incluir parâmetros. Se os parâmetros forem parâmetros de substituição, SHEvaluateSystemCommandTemplate deverá ser chamado antes que os parâmetros sejam substituídos.

[out] ppszApplication

Tipo: PWSTR*

Um ponteiro para o caminho verificado para o aplicativo. Esse valor deve ser passado como o parâmetro lpApplication em uma chamada para CreateProcess ou como o parâmetro lpFile em uma chamada para ShellExecute. Esse recurso é alocado usando CoTaskMemAlloc e é responsabilidade do chamador liberar o recurso quando ele não for mais necessário chamando CoTaskMemFree.

[out, optional] ppszCommandLine

Tipo: PWSTR*

Um ponteiro para um modelo de cadeia de caracteres de linha de comando a ser usado em uma chamada para CreateProcess. Os parâmetros de linha de comando devem ser especificados com base nesse modelo e, em seguida, passados como o parâmetro lpCommandLine para CreateProcess. É garantido que ele seja de um formulário que PathGetArgs sempre pode ler corretamente. Esse recurso é alocado usando CoTaskMemAlloc e é responsabilidade do chamador liberar o recurso quando ele não for mais necessário chamando CoTaskMemFree.

Esse parâmetro poderá ser NULL se essa função não estiver sendo usada em associação com uma chamada para CreateProcess.

[out, optional] ppszParameters

Tipo: PWSTR*

Um ponteiro para um modelo de cadeia de caracteres de linha de comando a ser usado em uma chamada para ShellExecute. Os parâmetros de linha de comando devem ser especificados com base nesse modelo e, em seguida, passados como o parâmetro lpParameters para ShellExecute. Esse parâmetro é idêntico à chamada de PathGetArgs. Esse recurso é alocado usando CoTaskMemAlloc e é responsabilidade do chamador liberar o recurso quando ele não for mais necessário chamando CoTaskMemFree.

Esse parâmetro poderá ser NULL se essa função não estiver sendo usada em associação com uma chamada para CreateProcess.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função é usada quando um processo de chamada precisa do comportamento determinístico de um modelo de comando, independentemente do contexto de execução. Ele ignora o estado atual do processo, como , %PATH%GetCurrentDirectory e o diretório do processo pai.

Essa função é usada quando o comando é embutido em código.

Essa função é usada por ShellExecute ao manipular associações de arquivos de HKEY_CLASSES_ROOT. A finalidade dessa função é reduzir as explorações de linha de comando CreateProcess . Ele não foi projetado para processar a entrada do usuário e, se usado para essa finalidade, pode gerar falhas inesperadas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shellapi.h
DLL Shell32.dll
Conjunto de APIs ext-ms-win-shell32-l1-2-2 (introduzido no Windows 10, versão 10.0.14393)