Condividi tramite


Opzioni, Creazione guidata oggetto semplice ATL

È possibile utilizzare questa schermata della Creazione guidata oggetto semplice ATL per migliorare l'efficienza e aggiungere all'oggetto il supporto per la gestione degli errori.

Per ulteriori informazioni sui progetti ATL e sulle classi COM ATL, vedere ATL Reference.

  • Modello di threading
    Consente di specificare il metodo per la gestione dei thread. Per impostazione predefinita, il progetto utilizza il threading Apartment.

    Per ulteriori informazioni, vedere Specifica del modello di threading del progetto.

    Opzione

    Oggetto di descrizione

    Single

    Utilizzare questa opzione per specificare che l'oggetto viene sempre eseguito nel thread COM primario. Per ulteriori informazioni, vedere Apartment a thread singolo e InprocServer32.

    Apartment

    Utilizzare questa opzione per specificare che l'oggetto utilizza il modello di threading Apartment, equivalente a un apartment a thread singolo. A ciascun oggetto di un componente con threading Apartment viene assegnato un apartment per il relativo thread per il ciclo di vita dell'oggetto. È tuttavia possibile utilizzare più thread per più oggetti. Ciascun apartment è associato a uno specifico thread e dispone di un message pump di Windows (predefinito).

    Per ulteriori informazioni, vedere Apartment a thread singolo.

    Entrambi

    Utilizzare questa opzione per specificare che l'oggetto può utilizzare il modello di threading Apartment o Free, a seconda del tipo di thread da cui viene creato.

    Free

    Utilizzare questa opzione per specificare che l'oggetto utilizza il modello di threading Free, equivalente a un modello di apartment con multithreading. Per ulteriori informazioni, vedere Apartment con multithreading.

    Neutro (solo Windows 2000).

    Utilizzare questa opzione per specificare che l'oggetto esegue le operazioni previste per gli apartment con multithreading, ma può essere eseguito su qualsiasi tipo di thread.

  • Aggregazione
    Consente di specificare se l'oggetto utilizza l'aggregazione. Le interfacce da esporre ai client vengono scelte dall'oggetto e vengono esposte come se fossero state implementate da tale oggetto. I client dell'oggetto di aggregazione comunicano solo con l'oggetto stesso.

    Opzione

    Oggetto di descrizione

    Sì

    Utilizzare questa opzione per specificare che l'oggetto può essere aggregato. Valore predefinito.

    No

    Utilizzare questa opzione per specificare che l'oggetto non è aggregato.

    Solo

    Utilizzare questa opzione per specificare che l'oggetto deve essere aggregato.

  • Interfaccia
    Consente di specificare il tipo di interfaccia supportato dall'oggetto. Per impostazione predefinita, l'oggetto supporta un'interfaccia duale.

    Opzione

    Descrizione

    Duale

    Utilizzare questa opzione per specificare che l'oggetto supporta un'interfaccia duale (la vtable dell'oggetto ha funzionalità di interfaccia personalizzate oltre a metodi IDispatch con associazione tardiva). L'accesso all'oggetto è consentito sia ai client COM che ai controller di automazione. Valore predefinito.

    Personalizzato

    Utilizzare questa opzione per specificare che l'oggetto supporta un'interfaccia personalizzata (la vtable dell'oggetto ha funzionalità di interfaccia personalizzate). Tale interfaccia può essere più veloce di un'interfaccia duale, in particolare nell'ambito dei processi.

    • Compatibile con l'automazione   Consente ai controller di automazione di accedere a un oggetto che supporta le interfacce personalizzate.

  • Supporto
    Consente di indicare i supporti aggiuntivi per l'oggetto.

    Opzione

    Oggetto di descrizione

    ISupportErrorInfo

    Utilizzare questa opzione per creare il supporto per l'interfaccia ISupportErrorInfo in modo che l'oggetto possa restituire le informazioni sugli errori al client.

    Punti di connessione

    Utilizzare questa opzione per attivare i punti di connessione per l'oggetto mediante la derivazione della classe dell'oggetto da IConnectionPointContainerImpl.

    Gestore del marshalling con modello di threading Free

    Utilizzare questa opzione per creare un gestore del marshalling con modello di threading Free in grado di effettuare il marshalling dei puntatori a interfaccia in modo efficiente tra i thread dello stesso processo. È disponibile per gli oggetti con modello di threading Entrambi.

    IObjectWithSite (supporto oggetto IE)

    Utilizzare questa opzione per implementare IObjectWithSiteImpl, un semplice mezzo per supportare la comunicazione tra un oggetto e il relativo sito in un contenitore.

Vedere anche

Attività

Aggiunta di un oggetto semplice ATL

Riferimenti

Creazione guidata oggetto semplice ATL

Problemi di thread server in-process