IContextMenu::Metode InvokeCommand (shobjidl_core.h)

Menjalankan perintah yang terkait dengan item menu pintasan.

Sintaks

HRESULT InvokeCommand(
  CMINVOKECOMMANDINFO *pici
);

Parameter

pici

Jenis: LPCMINVOKECOMMANDINFO

Penunjuk ke struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX yang berisi spesifik tentang perintah.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Antarmuka IContextMenu diekspor oleh beberapa penangan ekstensi Shell dan ekstensi namespace layanan. Ini digunakan untuk menambahkan perintah ke menu pintasan. Saat pengguna memilih salah satu perintah yang ditambahkan oleh ekstensi handler atau namespace ke menu pintasan, Shell memanggil metode InvokeCommand perintah tersebut. Perintah dapat ditentukan oleh offset pengidentifikasi menunya, yang ditentukan ketika IContextMenu::QueryContextMenu dipanggil, atau dengan kata kerja terkait. Aplikasi dapat memanggil metode ini secara langsung dengan mendapatkan penunjuk ke antarmuka IContextMenu objek. Aplikasi juga dapat memanggil metode ini secara tidak langsung dengan memanggil ShellExecute atau ShellExecuteEx dan menentukan kata kerja yang didukung oleh ekstensi namespace atau handler.

Catatan untuk Pengguna

Meskipun parameter pici dideklarasikan dalam Shlobj.h sebagai struktur CMINVOKECOMMANDINFO , Anda dapat menggunakan CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX. Salah satu akan berfungsi untuk string ANSI, tetapi Anda harus menggunakan struktur CMINVOKECOMMANDINFOEX untuk string Unicode.

Catatan untuk Pelaksana

Periksa anggota pici cbSize untuk menentukan struktur mana (CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX) yang diteruskan. Jika itu adalah struktur CMINVOKECOMMANDINFOEX dan anggota fMask memiliki set bendera CMIC_MASK_UNICODE , Anda harus mentransmisikan pici ke CMINVOKECOMMANDINFOEX untuk menggunakan informasi Unicode yang terkandung dalam lima anggota terakhir struktur.

Jika kata kerja, ditentukan baik dengan nama kata kerja kanonis atau ID perintah tidak dikenali oleh penangan menu konteks, kata kerja harus mengembalikan kegagalan (E_FAIL) sehingga kata kerja dapat diteruskan ke penangan menu konteks lain yang mungkin mengimplementasikannya.

Pada Windows Vista, tidak cukup memanggil perintah secara asinkron hanya dengan mengatur bendera CMIC_MASK_ASYNCOK di anggota fMask struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX . Anda juga harus mengatur referensi utas pada utas panggilan seperti yang dijelaskan dalam Mengelola Referensi Utas.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
DLL Shell32.dll (versi 4.0 atau yang lebih baru)

Lihat juga

IContextMenu