Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Applica la convalida rigorosa dei parametri usati in una chiamata a CreateProcess o ShellExecute.
Sintassi
SHSTDAPI SHEvaluateSystemCommandTemplate(
[in] PCWSTR pszCmdTemplate,
[out] PWSTR *ppszApplication,
[out, optional] PWSTR *ppszCommandLine,
[out, optional] PWSTR *ppszParameters
);
Parametri
[in] pszCmdTemplate
Tipo: PCWSTR
Riga di comando, che può includere o meno parametri. Se i parametri sono parametri di sostituzione, è necessario chiamare SHEvaluateSystemCommandTemplate prima che i parametri siano stati sostituiti.
[out] ppszApplication
Tipo: PWSTR*
Puntatore al percorso verificato dell'applicazione. Questo valore deve essere passato come parametro lpApplication in una chiamata a CreateProcess o come parametro lpFile in una chiamata a ShellExecute. Questa risorsa viene allocata usando CoTaskMemAlloc ed è responsabilità del chiamante liberare la risorsa quando non è più necessaria chiamando CoTaskMemFree.
[out, optional] ppszCommandLine
Tipo: PWSTR*
Puntatore a un modello di stringa della riga di comando da usare in una chiamata a CreateProcess. I parametri della riga di comando devono essere specificati in base a questo modello e quindi passati come parametro lpCommandLine a CreateProcess. È garantito che sia di un modulo che PathGetArgs può sempre leggere correttamente. Questa risorsa viene allocata usando CoTaskMemAlloc ed è responsabilità del chiamante liberare la risorsa quando non è più necessaria chiamando CoTaskMemFree.
Questo parametro può essere NULL se questa funzione non viene usata in associazione a una chiamata a CreateProcess.
[out, optional] ppszParameters
Tipo: PWSTR*
Puntatore a un modello di stringa della riga di comando da usare in una chiamata a ShellExecute. I parametri della riga di comando devono essere specificati in base a questo modello e quindi passati come parametro lpParameters a ShellExecute. Questo parametro è identico alla chiamata di PathGetArgs. Questa risorsa viene allocata usando CoTaskMemAlloc ed è responsabilità del chiamante liberare la risorsa quando non è più necessaria chiamando CoTaskMemFree.
Questo parametro può essere NULL se questa funzione non viene usata in associazione a una chiamata a CreateProcess.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Osservazioni:
Questa funzione viene usata quando un processo chiamante richiede il comportamento deterministico da un modello di comando, indipendentemente dal contesto di esecuzione. Ignora lo stato del processo corrente, ad esempio , GetCurrentDirectory e la directory del %PATH%processo padre.
Questa funzione viene usata quando il comando è hardcoded.
Questa funzione viene usata da ShellExecute quando si gestiscono le associazioni di file da HKEY_CLASSES_ROOT. Lo scopo di questa funzione è ridurre gli exploit della riga di comando CreateProcess . Non è progettato per l'elaborazione dell'input dell'utente e se usato a tale scopo può generare errori imprevisti.
Requisiti
| Requisito | Value |
|---|---|
| Client minimo supportato | Windows Vista [solo app desktop] |
| Server minimo supportato | Windows Server 2008 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Header | shellapi.h |
| Library | OneCore.Lib |
| DLL | Shell32.dll |
| Set di API | ext-ms-win-shell-shell32-l1-2-2 (introdotto in Windows 10, versione 10.0.14393) |