共用方式為


IAssocHandler::Invoke 方法 (shobjidl_core.h)

直接叫用相關聯的處理程式。

語法

HRESULT Invoke(
  [in] IDataObject *pdo
);

參數

[in] pdo

類型: IDataObject*

IDataObject 的指標,代表要叫用處理程序的選取專案。 請注意,您不應該使用選取多個專案來呼叫 IAssocHandler::Invoke 。 如果您有多個專案,請改為呼叫 IAssocHandler::CreateInvoker 。 如需詳細資訊,請參閱。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

IAssocHandler 物件通常用於填入 [開啟方式 ] 功能表。 選取其中一個功能表項時,會呼叫這個方法來啟動所選的應用程式。

叫用和 CreateInvoker

這些方法所使用的 IDataObject 可以代表單一檔案或多個檔案的選取範圍。 並非所有應用程式都支援多個檔案選項。 支援該案例的應用程式可能會施加其他限制,例如可以同時開啟的檔案數目,或檔類型的可接受的組合。

因此,應用程式通常必須判斷處理程式是否支援選取專案,然後再嘗試叫用處理程式。 例如,只有在應用程式已確認該處理程式支援有問題的選取專案時,應用程式才會啟用功能表項。

一般而言,假設應用程式將支援單一專案的調用,在這些情況下,應用程式通常會根據該假設呼叫 IAssocHandler::Invoke

不過,對於多個選取案例,應用程式應該呼叫 IAssocHandler::CreateInvoker。 該方法會擷取 IAssocHandlerInvoker 物件,讓呼叫端應用程式先檢查選取專案是否支援 (SupportsSelection) ,然後叫用處理程式 (Invoke) 。

IAssocHandler::Invoke 可以在選取多個檔案時呼叫,但不建議這麼做,因為涉及大型處理負載,而且不保證它將會成功。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包括 Shobjidl.h)