Fungsi SHEvaluateSystemCommandTemplate (shellapi.h)
Memberlakukan validasi ketat parameter yang digunakan dalam panggilan ke CreateProcess atau ShellExecute.
Sintaks
SHSTDAPI SHEvaluateSystemCommandTemplate(
[in] PCWSTR pszCmdTemplate,
[out] PWSTR *ppszApplication,
[out, optional] PWSTR *ppszCommandLine,
[out, optional] PWSTR *ppszParameters
);
Parameter
[in] pszCmdTemplate
Jenis: PCWSTR
Baris perintah, yang mungkin atau mungkin tidak menyertakan parameter. Jika parameter adalah parameter pengganti, maka SHEvaluateSystemCommandTemplate harus dipanggil sebelum parameter diganti.
[out] ppszApplication
Jenis: PWSTR*
Penunjuk ke jalur terverifikasi ke aplikasi. Nilai ini harus diteruskan sebagai parameter lpApplication dalam panggilan ke CreateProcess atau sebagai parameter lpFile dalam panggilan ke ShellExecute. Sumber daya ini dialokasikan menggunakan CoTaskMemAlloc, dan merupakan tanggung jawab pemanggil untuk membebaskan sumber daya ketika tidak lagi diperlukan dengan memanggil CoTaskMemFree.
[out, optional] ppszCommandLine
Jenis: PWSTR*
Penunjuk ke templat string baris perintah yang akan digunakan dalam panggilan ke CreateProcess. Parameter baris perintah harus ditentukan berdasarkan templat ini, lalu diteruskan sebagai parameter lpCommandLine ke CreateProcess. Ini dijamin dalam bentuk yang selalu dapat dibaca PathGetArgs dengan benar. Sumber daya ini dialokasikan menggunakan CoTaskMemAlloc, dan merupakan tanggung jawab pemanggil untuk membebaskan sumber daya ketika tidak lagi diperlukan dengan memanggil CoTaskMemFree.
Parameter ini bisa NULL jika fungsi ini tidak digunakan dalam asosiasi dengan panggilan ke CreateProcess.
[out, optional] ppszParameters
Jenis: PWSTR*
Penunjuk ke templat string baris perintah yang akan digunakan dalam panggilan ke ShellExecute. Parameter baris perintah harus ditentukan berdasarkan templat ini, lalu diteruskan sebagai parameter lpParameters ke ShellExecute. Parameter ini identik dengan memanggil PathGetArgs. Sumber daya ini dialokasikan menggunakan CoTaskMemAlloc, dan merupakan tanggung jawab pemanggil untuk membebaskan sumber daya ketika tidak lagi diperlukan dengan memanggil CoTaskMemFree.
Parameter ini bisa NULL jika fungsi ini tidak digunakan dalam asosiasi dengan panggilan ke CreateProcess.
Mengembalikan nilai
Jenis: HRESULT
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Fungsi ini digunakan ketika proses panggilan membutuhkan perilaku deterministik dari templat perintah, terlepas dari konteks eksekusi. Ini mengabaikan status proses saat ini, seperti %PATH%
direktori proses , GetCurrentDirectory, dan induk.
Fungsi ini digunakan ketika perintah dikodekan secara permanen.
Fungsi ini digunakan oleh ShellExecute saat menangani asosiasi file dari HKEY_CLASSES_ROOT. Tujuan dari fungsi ini adalah untuk mengurangi eksploitasi baris perintah CreateProcess . Ini tidak dirancang untuk memproses input pengguna dan jika digunakan untuk tujuan tersebut dapat menghasilkan kegagalan yang tidak terduga.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shellapi.h |
DLL | Shell32.dll |
Set API | ext-ms-win-shell-shell32-l1-2-2 (diperkenalkan dalam Windows 10, versi 10.0.14393) |