Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяет строгую проверку параметров, используемых в вызове CreateProcess или ShellExecute.
Синтаксис
SHSTDAPI SHEvaluateSystemCommandTemplate(
[in] PCWSTR pszCmdTemplate,
[out] PWSTR *ppszApplication,
[out, optional] PWSTR *ppszCommandLine,
[out, optional] PWSTR *ppszParameters
);
Параметры
[in] pszCmdTemplate
Тип: PCWSTR
Командная строка, которая может включать или не включать параметры. Если параметры являются параметрами подстановки, необходимо вызвать SHEvaluateSystemCommandTemplate перед заменой параметров.
[out] ppszApplication
Тип: PWSTR*
Указатель на проверенный путь к приложению. Это значение должно быть передано в качестве параметра lpApplication в вызове CreateProcess или в качестве параметра lpFile в вызове ShellExecute. Этот ресурс выделяется с помощью CoTaskMemAlloc, и он несет ответственность за освобождение ресурса, если он больше не нужен путем вызова CoTaskMemFree.
[out, optional] ppszCommandLine
Тип: PWSTR*
Указатель на шаблон строки командной строки, используемый в вызове CreateProcess. Параметры командной строки должны быть указаны на основе этого шаблона, а затем передаваться в качестве параметра lpCommandLineв CreateProcess. Это гарантируется, что ПутьGetArgs всегда может правильно читать. Этот ресурс выделяется с помощью CoTaskMemAlloc, и он несет ответственность за освобождение ресурса, если он больше не нужен путем вызова CoTaskMemFree.
Этот параметр может иметь значение NULL , если эта функция не используется в связи с вызовом CreateProcess.
[out, optional] ppszParameters
Тип: PWSTR*
Указатель на шаблон строки командной строки, используемый в вызове ShellExecute. Параметры командной строки следует указывать на основе этого шаблона, а затем передавать в ShellExecute в качестве параметра lpParameters. Этот параметр идентичен вызову PathGetArgs. Этот ресурс выделяется с помощью CoTaskMemAlloc, и он несет ответственность за освобождение ресурса, если он больше не нужен путем вызова CoTaskMemFree.
Этот параметр может иметь значение NULL , если эта функция не используется в связи с вызовом CreateProcess.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Замечания
Эта функция используется, когда вызывающий процесс нуждается в детерминированном поведении из шаблона команды независимо от контекста выполнения. Он игнорирует текущее состояние процесса, например %PATH%каталог GetCurrentDirectory и родительский каталог процессов.
Эта функция используется при жестко закодированном коде команды.
Эта функция используется ShellExecute при обработке сопоставлений файлов из HKEY_CLASSES_ROOT. Эта функция предназначена для уменьшения эксплойтов командной строки CreateProcess . Он не предназначен для обработки входных данных пользователей, и если он используется для этой цели, может привести к непредвиденным сбоям.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | shellapi.h |
| Library | OneCore.Lib |
| DLL | Shell32.dll |
| Набор API | ext-ms-win-shell-shell32-l1-2-2 (представлено в Windows 10 версии 10.0.14393) |