Metodo IAssocHandler::CreateInvoker (shobjidl_core.h)
Recupera un oggetto che abilita la chiamata del gestore associato nella selezione corrente. Il richiamatore include la possibilità di verificare se la selezione corrente è supportata.
Sintassi
HRESULT CreateInvoker(
[in] IDataObject *pdo,
[out] IAssocHandlerInvoker **ppInvoker
);
Parametri
[in] pdo
Tipo: IDataObject*
Puntatore a un oggetto IDataObject che rappresenta l'elemento o gli elementi selezionati in cui richiamare il gestore. Si noti che se si dispone solo di un singolo elemento, IAssocHandler::Invoke potrebbe essere la scelta migliore. Per altri dettagli, vedere Osservazioni.
[out] ppInvoker
Tipo: IAssocHandlerInvoker**
Quando questo metodo restituisce, contiene l'indirizzo di un puntatore a un oggetto IAssocHandlerInvoker . Questo oggetto viene usato per richiamare la voce di menu dopo aver verificato che gli elementi selezionati siano supportati dal gestore associato.
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 Open With . Quando viene selezionata una di queste voci di menu, questo metodo viene chiamato per avviare l'applicazione scelta.
Richiamare e CreareInvoker
IDataObject usato da questi metodi può rappresentare un singolo file oppure può rappresentare una selezione di più file. Non tutte le applicazioni supportano l'opzione più file. Tali applicazioni che supportano tale scenario potrebbero imporre altre restrizioni, ad esempio il numero di file che possono essere aperti contemporaneamente o combinazioni accettabili 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 sapeva che la selezione in questione era supportata da tale gestore.
In genere è sicuro presupporre che un'applicazione supporti la chiamata su un singolo elemento; in questi casi l'applicazione chiama in genere IAssocHandler::Invoke.
Per più scenari di selezione, l'applicazione deve chiamare IAssocHandler::CreateInvoker. Questo metodo recupera un oggetto IAssocHandlerInvoker che consente all'applicazione chiamante di controllare prima se la selezione è supportata (SupportSelection), 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 nessuna garanzia di 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) |