Interfacce (COM)

Le interfacce seguenti sono fornite da COM.

Interfaccia Descrizione
IAccessControl Consente la gestione dell'accesso a oggetti e proprietà sugli oggetti .
IAgileObject Contrassegna un'interfaccia come agile in tutti gli appartamenti.
Ibindctx Fornisce l'accesso a un contesto di associazione, ovvero un oggetto che archivia informazioni su un'operazione di associazione moniker specifica.
IBlockingLock Fornisce un semaforo che può essere usato per fornire l'accesso temporaneamente esclusivo a una risorsa condivisa, ad esempio un file.
ICallFactory Crea un oggetto chiamata per l'elaborazione delle chiamate ai metodi di un'interfaccia asincrona.
ICallFrame Abilita la manipolazione dei fotogrammi delle chiamate, ad esempio stack frame. Il frame di chiamata è il corpo delle informazioni che una routine deve salvare per consentirgli di tornare correttamente al chiamante. Un frame di chiamata può esistere nello stack o nei registri. Uno stack frame mantiene le informazioni sul contesto del chiamante nello stack.
ICallFrameEvents Recapita notifiche di chiamata al metodo.
ICallFrameWalker Cammina un frame dello stack alla ricerca di valori interessanti.
ICallIndirect Richiama un oggetto con un riferimento indiretto agli argomenti delle chiamate anziché alla chiamata diretta tradizionale.
ICallInterceptor Supporta la registrazione e l'annullamento della registrazione dei sink di eventi che desiderano ricevere una notifica delle chiamate effettuate direttamente sull'interfaccia. Inoltre, questa interfaccia fornisce un mezzo tramite il quale è possibile eseguire una chiamata con un riferimento indiretto agli argomenti delle chiamate.
ICallUnmarshal Viene utilizzato sul lato server (ricezione) di una chiamata remota. Un'istanza appropriata di ICallUnmarshal può essere usata per trasformare in un frame di chiamata un metodo sottoposto a marshalling in precedenza da una chiamata a ICallFrame::Marshal sul lato client (invio).
ICancelMethodCalls Gestisce le richieste di annullamento in una chiamata al metodo in uscita e monitora lo stato corrente di tale chiamata al metodo nel thread del server.
ICatInformation Ottiene informazioni sulle categorie implementate o richieste da una determinata classe, nonché informazioni sulle categorie registrate nel computer specificato.
ICatRegister Fornisce metodi per la registrazione e l'annullamento della registrazione delle informazioni sulle categorie dei componenti nel Registro di sistema. Sono inclusi sia i nomi leggibili delle categorie che le categorie implementate/richieste da un determinato componente o classe.
IClassActivator Specifica un metodo che recupera un oggetto classe.
IClassFactory Consente di creare una classe di oggetti.
IClassFactory2 Consente a un oggetto class factory, in qualsiasi tipo di server oggetti, di controllare la creazione di oggetti tramite licenze.
IClientSecurity Fornisce al client il controllo sulle impostazioni di sicurezza per ogni singolo proxy di interfaccia di un oggetto.
IComThreadingInfo Consente di ottenere le informazioni seguenti sull'apartment e sul thread in cui è in esecuzione il chiamante: tipo di apartment, tipo di thread e GUID del thread. Consente inoltre di specificare un GUID del thread.
I Connessione ionPoint Supporta i punti di connessione per gli oggetti connettibili.
I Connessione ionPointContainer Supporta i punti di connessione per gli oggetti connettibili.
IContext Supporta l'impostazione delle proprietà del contesto COM+.
IContextCallback Fornisce un meccanismo per eseguire una funzione all'interno di un contesto di oggetto COM+ specifico.
IContinueCallback Fornisce un meccanismo di callback generico per i processi interrompibili che devono chiedere periodicamente a un oggetto se continuare.
IEnumCATID Enumera gli identificatori di categoria.
IEnumCLSID Enumera gli identificatori di classe.
IEnumCATEGORYINFO Enumera le categorie di componenti registrate nel sistema.
IEnum Connessione ionPoints Enumera i punti di connessione.
IEnum Connessione ions Enumera le connessioni correnti per un oggetto connettibile.
IEnumContextProps Fornisce un meccanismo per enumerare le proprietà di contesto associate a un contesto di oggetto COM+.
IEnumGUID Consente ai client di enumerare tramite una raccolta di ID classe per le classi COM.
Ienumstring Enumerare stringhe. LPWSTR è il tipo che indica un puntatore a una stringa con terminazione zero di caratteri wide o Unicode.
IEnumUnknown Enumera gli oggetti con l'interfaccia IUnknown . Può essere usato per enumerare gli oggetti in un componente contenente più oggetti.
IEventProperty Associa una proprietà evento denominata al relativo valore.
IEventPublisher Registra, modifica, rimuove e fornisce informazioni su un autore di eventi.
IExternal Connessione ion Gestisce il numero di connessioni di un oggetto server con marshalling o esterno. Un server che gestisce tale conteggio può rilevare quando non dispone di connessioni esterne e si arresta in modo ordinato.
IFastRundown Contrassegna un'interfaccia come idonea per il comportamento di rundown rapido.
IFileBasedLogInit Inizializza un'istanza di un'implementazione basata su file di ILog.
IForegroundTransfer Trasferisce la finestra in primo piano al processo che ospita il server COM.
IGlobalInterfaceTable Consente a qualsiasi apartment in un processo di ottenere l'accesso a un'interfaccia implementata su un oggetto in qualsiasi altro appartamento del processo.
IGlobalOptions Imposta ed esegue query su determinate proprietà globali del runtime COM.
IInitializeSpy Esegue l'inizializzazione o la pulizia quando si immette o si esce da un apartment COM.
IInternalUnknown Usato esclusivamente nei gestori lato client leggeri che richiedono l'accesso ad alcune delle interfacce interne nel proxy.
Ilog Fornisce funzionalità di registrazione generica di basso livello.
IMalloc Alloca, libera e gestisce la memoria.
IMallocSpy Consente agli sviluppatori di applicazioni di monitorare (spiare) l'allocazione di memoria, rilevare perdite di memoria e simulare errori di memoria nelle chiamate ai metodi IMalloc.
IMarshal Consente a un oggetto COM di definire e gestire il marshalling dei puntatori di interfaccia.
IMarshalingStream Fornisce informazioni aggiuntive sul contesto di marshalling per oggetti con marshalling personalizzato e unmarshaler.
IMessageFilter Offre ai server e alle applicazioni COM la possibilità di gestire in modo selettivo i messaggi COM in ingresso e in uscita in attesa di risposte da chiamate sincrone. Il filtro dei messaggi consente di garantire che le chiamate vengano gestite in modo da migliorare le prestazioni ed evitare deadlock. I messaggi COM possono essere sincroni, asincroni o sincronizzati con input; la maggior parte delle chiamate di interfaccia è sincrona.
Imoniker Consente di utilizzare un oggetto moniker che contiene informazioni che identificano in modo univoco un oggetto COM. Un oggetto che dispone di un puntatore all'interfaccia IMoniker dell'oggetto moniker può individuare, attivare e ottenere l'accesso all'oggetto identificato senza avere altre informazioni specifiche sulla posizione in cui l'oggetto si trova effettivamente in un sistema distribuito.
IMultiQI Consente a un client di eseguire query su un proxy oggetto o un gestore per più interfacce usando una singola chiamata RPC. Usando questa interfaccia, invece di basarsi su chiamate separate a IUnknown::QueryInterface, i client possono ridurre il numero di chiamate RPC che devono attraversare thread, processi o limiti del computer e quindi la quantità di tempo necessaria per ottenere i puntatori di interfaccia richiesti.
IObjContext Esegue varie operazioni sui contesti.
IOleItemContainer Usato dai moniker dell'elemento quando sono associati agli oggetti identificati.
IOrpcDebugNotify Fornisce funzionalità di debug remoto.
IParseDisplayName Analizza una stringa di nome visualizzabile per convertirla in un moniker per le implementazioni di moniker personalizzate.
Ipersist Fornisce il CLSID di un oggetto che può essere archiviato in modo permanente nel sistema. Consente all'oggetto di specificare il gestore di oggetti da usare nel processo client, in quanto viene usato nell'implementazione predefinita del marshalling.
Ipersistfile Consente di caricare o salvare un oggetto in un file su disco anziché in un oggetto di archiviazione o in un flusso.
IPersist Archiviazione Consente a un'applicazione contenitore di passare un oggetto di archiviazione a uno degli oggetti contenuti e di caricare e salvare l'oggetto di archiviazione.
Ipersiststream Abilita il salvataggio e il caricamento di oggetti che usano un flusso seriale semplice per le esigenze di archiviazione.
IPersistStreamInit Sostituzione di IPersistStream che aggiunge un metodo di inizializzazione.
IPipeByte Trasferisce i dati del tipo di byte (che è largo 8 bit).
IPipeDouble Trasferisce i dati del tipo double (che è largo 64 bit).
IPipeLong Trasferisce i dati del tipo long integer (che è largo 32 bit).
Iprocessinitcontrol Specifica l'intervallo di timeout di inizializzazione del processo.
IProcessLock Usato da ISurrogateService per impedire che il processo venga terminato a causa di un timeout.
IProgressNotify Consente alle applicazioni e ad altri oggetti di ricevere notifiche di modifiche in corso di un'operazione di download.
IProvideClassInfo Fornisce l'accesso alle informazioni sul tipo per la voce della coclasse di un oggetto nella relativa libreria dei tipi.
IProvideClassInfo2 Un'estensione di IProvideClassInfo che rende più veloce e più semplice recuperare l'IID dell'interfaccia in uscita di un oggetto per il set di eventi predefinito.
IProvideMultipleClassInfo Estensione di IProvideClassInfo2 che semplifica il recupero delle informazioni sui tipi da un componente che può avere più coclassi che ne determinano il comportamento.
IPSFactoryBuffer Fornisce metodi personalizzati per la creazione di proxy e stub di oggetti COM. Questa interfaccia non è di cui è possibile eseguire il marshalling.
IROTData Implementato dai moniker per consentire alla tabella di oggetti in esecuzione (ROT) di confrontare i moniker tra loro.
IRpcChannelBuffer Effettua il marshalling dei dati tra un proxy client COM e uno stub del server COM.
IRpcOptions Consente ai chiamanti di impostare o eseguire query sui valori di varie proprietà che controllano il modo in cui COM gestisce le chiamate rpc (Remote Procedure Call).
IRpcProxyBuffer Controlla il proxy RPC usato per effettuare il marshalling dei dati tra i componenti COM.
IRpcStubBuffer Controlla lo stub RPC utilizzato per effettuare il marshalling dei dati tra i componenti COM.
IRunnableObject Consente a un contenitore di controllare l'esecuzione degli oggetti incorporati. Nel caso di un oggetto implementato con un server locale, la chiamata al metodo Run avvia il file .EXE del server. Nel caso di un oggetto implementato con un server in-process, la chiamata a Run fa sì che l'oggetto .DLL file passi allo stato di esecuzione.
IRunningObjectTable Gestisce l'accesso alla tabella degli oggetti in esecuzione (ROT), una tabella di ricerca accessibile a livello globale in ogni workstation. Il ROT di una workstation tiene traccia degli oggetti che possono essere identificati da un moniker e attualmente in esecuzione nella workstation. Quando un client tenta di associare un moniker a un oggetto, il moniker controlla il rot per verificare se l'oggetto è già in esecuzione; in questo modo il moniker può essere associato all'istanza corrente anziché caricarne uno nuovo.
IServerSecurity Usato da un server per autenticare il client e gestire la rappresentazione del client.
IStdMarshalInfo Recupera il CLSID che identifica il gestore da utilizzare nel processo di destinazione durante il marshalling standard.
ISurrogate Usato per caricare dinamicamente nuovi server DLL in un surrogato esistente e liberare il surrogato quando non è più necessario.
ISurrogateService Usato per inizializzare, avviare e rilasciare un'applicazione COM+. È anche possibile aggiornare il catalogo e arrestare il processo.
Isynchronize Fornisce comunicazioni asincrone tra gli oggetti sull'occorrenza di un evento. Gli oggetti che implementano ISynchronize possono ricevere indicazioni che si sono verificati un evento e possono rispondere alle query sull'evento. In questo modo, i client possono assicurarsi che una richiesta sia stata elaborata prima di inviare una richiesta successiva che dipende dal completamento del primo.
ISynchronizeContainer Gestisce un gruppo di oggetti di sincronizzazione non firmati.
ISynchronizeEvent Assegna un handle di evento a un oggetto di sincronizzazione.
ISynchronizeHandle Recupera un handle associato a un oggetto di sincronizzazione.
IUnknown Consente ai client di ottenere puntatori ad altre interfacce su un determinato oggetto tramite il metodo QueryInterface e gestire l'esistenza dell'oggetto tramite i metodi AddRef e Release. Tutte le altre interfacce COM vengono ereditate, direttamente o indirettamente, da IUnknown. Di conseguenza, i tre metodi in IUnknown sono le prime voci della tabella VTable per ogni interfaccia.