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