Condividi tramite


Opzioni, Creazione guidata oggetto semplice ATL

Utilizzare questa pagina della Creazione guidata oggetti semplici ATL per progettare per migliorare l'efficienza e il supporto degli errori per l'oggetto.

Per altre informazioni sui progetti ATL e le classi ATL COM, vedere Componenti desktop ATL COM.

  • Modello di threading

    Indica il metodo per la gestione dei thread. Per impostazione predefinita, il progetto usa il threading apartment .

    Per informazioni, vedere Specifying the Project's Threading Model (Specifica di un modello di threading per un progetto).

    Opzione Descrizione
    Singolo Specifica che l'oggetto viene sempre eseguito nel thread COM primario. Per altre informazioni, vedere Appartamenti a thread singolo e InprocServer32 .
    Apartment Specifica che l'oggetto utilizza il threading apartment. Equivalente a apartment a thread singolo. A ogni oggetto di un componente a thread apartment viene assegnato un apartment per il thread, per la vita dell'oggetto; Tuttavia, è possibile usare più thread per più oggetti. Ogni appartamento è associato a un thread specifico e ha un message pump di Windows (impostazione predefinita).

    Per altre informazioni, vedere Appartamenti a thread singolo.
    Entrambi Specifica che l'oggetto può utilizzare apartment o threading libero, a seconda del tipo di thread creato.
    Gratuito Specifica che l'oggetto utilizza il threading libero. Il threading libero equivale a un modello apartment multithread. Per altre informazioni, vedere Appartamenti multithreading.
    Neutral Specifica che l'oggetto segue le linee guida per gli appartamenti multithreading, ma può essere eseguito su qualsiasi tipo di thread.
  • Aggregazione

    Indica se l'oggetto utilizza l'aggregazione. L'oggetto aggregato sceglie le interfacce da esporre ai client e le interfacce vengono esposte come se l'oggetto aggregato le implementasse. I client dell'oggetto aggregato comunicano solo con l'oggetto aggregato.

    Opzione Descrizione
    Specifica che l'oggetto può essere aggregato. Valore predefinito.
    No Specifica che l'oggetto non è aggregato.
    Solo Specifica che l'oggetto deve essere aggregato.
  • Interfaccia

    Indica il tipo di interfaccia supportata dall'oggetto. Per impostazione predefinita, l'oggetto supporta un'interfaccia duale.

    Opzione Descrizione
    Doppia Specifica che l'oggetto supporta un'interfaccia doppia (la relativa tabella virtuale dispone di funzioni di interfaccia personalizzate e metodi di associazione IDispatch tardiva). Consente sia ai client COM che ai controller di automazione di accedere all'oggetto. Valore predefinito.
    Personalizzazione Specifica che l'oggetto supporta un'interfaccia personalizzata (la relativa vtable dispone di funzioni dell'interfaccia personalizzata). Un'interfaccia personalizzata può essere più veloce di un'interfaccia duale, in particolare attraverso i limiti dei processi.

    - Compatibile con l'automazione Consente ai controller di automazione di accedere a un oggetto che dispone del supporto dell'interfaccia personalizzata.
  • Supporto

    Indica il supporto aggiuntivo per l'oggetto .

    Opzione Descrizione
    ISupportErrorInfo Crea il supporto per l'interfaccia ISupportErrorInfo in modo che l'oggetto possa restituire le informazioni sull'errore al client.
    punti di Connessione ion Abilita i punti di connessione per l'oggetto impostando la derivazione della classe dell'oggetto da I Connessione ionPointContainerImpl.
    Marshalling a thread libero Crea un oggetto marshalling a thread libero per effettuare il marshalling efficiente dei puntatori di interfaccia tra thread nello stesso processo. Disponibile per l'oggetto che specifica entrambi come modello di threading.
    IObjectWithSite (supporto per oggetti IE) Implementa IObjectWithSiteImpl, che offre un modo semplice per supportare la comunicazione tra un oggetto e il relativo sito in un contenitore.

Vedi anche

Creazione guidata oggetto semplice ATL
Oggetto semplice ATL
Problemi di threading del server in-process