Bagikan melalui


Fungsi SHEvaluateSystemCommandTemplate (shellapi.h)

Memberlakukan validasi ketat parameter yang digunakan dalam panggilan ke CreateProcess atau ShellExecute.

Syntax

SHSTDAPI SHEvaluateSystemCommandTemplate(
  [in]            PCWSTR pszCmdTemplate,
  [out]           PWSTR  *ppszApplication,
  [out, optional] PWSTR  *ppszCommandLine,
  [out, optional] PWSTR  *ppszParameters
);

Parameter-parameternya

[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 dari 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 dapat berupa 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 dapat berupa 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.

Komentar

Fungsi ini digunakan ketika proses panggilan membutuhkan perilaku deterministik dari templat perintah, terlepas dari konteks eksekusi. Ini mengabaikan status proses saat ini, seperti %PATH%, GetCurrentDirectory, dan direktori proses 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 tak terduga.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Platform Target Windows
Header shellapi.h
Library OneCore.Lib
DLL Shell32.dll
Set API ext-ms-win-shell-shell32-l1-2-2 (diperkenalkan di Windows 10, versi 10.0.14393)