Bagikan melalui


IAssocHandler::Metode invoke (shobjidl_core.h)

Secara langsung memanggil handler terkait.

Sintaks

HRESULT Invoke(
  [in] IDataObject *pdo
);

Parameter

[in] pdo

Jenis: IDataObject*

Penunjuk ke IDataObject yang mewakili item yang dipilih untuk memanggil handler. Perhatikan bahwa Anda tidak boleh memanggil IAssocHandler::Invoke dengan pilihan beberapa item. Jika Anda memiliki beberapa item, panggil IAssocHandler::CreateInvoker sebagai gantinya. Lihat Keterangan untuk detail selengkapnya.

Nilai kembali

Jenis: HRESULT

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

Keterangan

Objek IAssocHandler biasanya digunakan untuk mengisi menu Buka Dengan . Ketika salah satu item menu tersebut dipilih, metode ini dipanggil untuk meluncurkan aplikasi yang dipilih.

Memanggil dan CreateInvoker

IDataObject yang digunakan oleh metode ini dapat mewakili satu file atau pilihan beberapa file. Tidak semua aplikasi mendukung opsi beberapa file. Aplikasi yang mendukung skenario tersebut mungkin memberlakukan pembatasan lain, seperti jumlah file yang dapat dibuka secara bersamaan, atau kombinasi jenis file yang dapat diterima.

Oleh karena itu, aplikasi sering harus menentukan apakah handler mendukung pilihan sebelum mencoba memanggil handler. Misalnya, aplikasi mungkin mengaktifkan item menu hanya jika telah memverifikasi bahwa pilihan yang bersangkutan didukung oleh handler tersebut.

Umumnya aman untuk mengasumsikan bahwa aplikasi akan mendukung pemanggilan pada satu item, dan dalam kasus tersebut aplikasi biasanya memanggil IAssocHandler::Invoke berdasarkan asumsi tersebut.

Namun, untuk beberapa skenario pilihan, aplikasi harus memanggil IAssocHandler::CreateInvoker. Metode itu mengambil objek IAssocHandlerInvoker yang memungkinkan aplikasi panggilan untuk terlebih dahulu memeriksa apakah pilihan didukung (SupportsSelection), lalu memanggil handler (Invoke).

IAssocHandler::Invoke dapat dipanggil pada pilihan beberapa file, tetapi tidak disarankan karena beban pemrosesan besar yang terlibat dan tidak ada jaminan bahwa itu akan berhasil.

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 shobjidl_core.h (termasuk Shobjidl.h)