Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применяет строгую проверку параметров, используемых в вызове 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) |