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) |