Condividi tramite


Metodo IAssocHandler::Invoke (shobjidl_core.h)

Richiama direttamente il gestore associato.

Sintassi

HRESULT Invoke(
  [in] IDataObject *pdo
);

Parametri

[in] pdo

Tipo: IDataObject*

Puntatore a un oggetto IDataObject che rappresenta l'elemento selezionato in cui richiamare il gestore. Si noti che non è consigliabile chiamare IAssocHandler::Invoke con una selezione di più elementi. Se sono presenti più elementi, chiamare invece IAssocHandler::CreateInvoker . Per altri dettagli, vedere La sezione Osservazioni.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Gli oggetti IAssocHandler vengono in genere usati per popolare un menu Apri con . Quando viene selezionata una di queste voci di menu, questo metodo viene chiamato per avviare l'applicazione scelta.

Richiamare e CreareInvoker

L'oggetto IDataObject usato da questi metodi può rappresentare un singolo file o una selezione di più file. Non tutte le applicazioni supportano l'opzione multiple file. Le applicazioni che supportano tale scenario potrebbero imporre altre restrizioni, ad esempio il numero di file che possono essere aperti contemporaneamente o la combinazione accettabile di tipi di file.

Pertanto, un'applicazione spesso deve determinare se il gestore supporta la selezione prima di tentare di richiamare il gestore. Ad esempio, un'applicazione potrebbe abilitare una voce di menu solo se ha verificato che la selezione in questione è supportata da tale gestore.

In genere è consigliabile presupporre che un'applicazione supporti la chiamata su un singolo elemento e in questi casi l'applicazione chiama in genere IAssocHandler::Invoke in base a tale presupposto.

Per più scenari di selezione, tuttavia, l'applicazione deve chiamare IAssocHandler::CreateInvoker. Tale metodo recupera un oggetto IAssocHandlerInvoker che consente all'applicazione chiamante di controllare prima se la selezione è supportata (SupportsSelection), quindi richiamare il gestore (Invoke).

IAssocHandler::Invoke può essere chiamato su una selezione di più file, ma non è consigliabile a causa del carico di elaborazione elevato coinvolto e non garantisce che abbia esito positivo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)