Bagikan melalui


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)