Interfaces (COM)

Les interfaces suivantes sont fournies par COM.

Interface Description
IAccessControl Active la gestion de l’accès aux objets et aux propriétés sur les objets.
IAgileObject Marque une interface comme agile sur des Apartments.
IBindCtx Fournit l’accès à un contexte de liaison, qui est un objet qui stocke des informations sur une opération de liaison de moniker particulière.
IBlockingLock Fournit un sémaphore qui peut être utilisé pour fournir un accès exclusif temporairement à une ressource partagée, comme un fichier.
ICallFactory Crée un objet d’appel pour le traitement des appels aux méthodes d’une interface asynchrone.
ICallFrame Permet la manipulation des frames d’appels tels que les frames de pile. Le frame d’appel est le corps des informations qu’une procédure doit enregistrer pour lui permettre de revenir correctement à son appelant. Un frame d’appel peut exister sur la pile ou dans des registres. Un frame de pile conserve les informations de contexte de son appelant sur la pile.
ICallFrameEvents Fournit des notifications d’appel de méthode.
ICallFrameWalker Parcourt un frame de pile à la recherche de valeurs intéressantes.
ICallIndirect Appelle un objet avec une référence indirecte aux arguments d’appel, plutôt que l’appel direct traditionnel.
ICallInterceptor Prend en charge l’inscription et l’annulation de l’inscription des récepteurs d’événements qui souhaitent être avertis des appels effectués directement sur l’interface. En outre, cette interface fournit un moyen par lequel un appel peut être effectué avec une référence indirecte aux arguments d’appel.
ICallUnmarshal Est utilisé sur le côté serveur (réception) d’un appel distant. Une instance appropriée de ICallUnmarshal peut être utilisée pour effectuer une transformation dans un frame d’appel d’un appel de méthode précédemment marshalé par un appel à ICallFrame :: Marshal côté client (envoi).
ICancelMethodCalls Gère les demandes d’annulation sur un appel de méthode sortant et surveille l’état actuel de cet appel de méthode sur le thread serveur.
ICatInformation Obtient des informations sur les catégories implémentées ou requises par une certaine classe, ainsi que des informations sur les catégories inscrites sur l’ordinateur spécifié.
ICatRegister Fournit des méthodes pour inscrire et annuler l’enregistrement des informations de catégorie de composants dans le registre. Cela comprend à la fois les noms explicites des catégories et les catégories implémentées/requises par un composant ou une classe donnée.
IClassActivator Spécifie une méthode qui récupère un objet de classe.
IClassFactory Permet la création d’une classe d’objets.
IClassFactory2 Permet à un objet de fabrique de classe, dans n’importe quel type de serveur d’objets, de contrôler la création d’objets via la gestion des licences.
IClientSecurity Donne au client le contrôle sur les paramètres de sécurité pour chaque proxy d’interface individuel d’un objet.
IComThreadingInfo Vous permet d’obtenir les informations suivantes sur le cloisonnement et le thread que l’appelant exécute : le type Apartment, le type de thread et le GUID du thread. Elle vous permet également de spécifier un GUID de thread.
IConnectionPoint Prend en charge les points de connexion pour les objets connectables.
Interfaces Prend en charge les points de connexion pour les objets connectables.
IContext Prend en charge la définition des propriétés de contexte COM+.
IContextCallback Fournit un mécanisme permettant d’exécuter une fonction à l’intérieur d’un contexte d’objet COM+ spécifique.
IContinueCallback Fournit un mécanisme de rappel générique pour les processus interruptible qui doivent demander périodiquement à un objet s’il doit continuer.
IEnumCATID Énumère les identificateurs de catégorie.
IEnumCLSID Énumère les identificateurs de classe.
IEnumCATEGORYINFO Énumère les catégories de composants inscrites dans le système.
IEnumConnectionPoints Énumère les points de connexion.
IEnumConnections Énumère les connexions en cours pour un objet connectable.
IEnumContextProps Fournit un mécanisme pour énumérer les propriétés de contexte associées à un contexte d’objet COM+.
IEnumGUID Permet aux clients d’énumérer une collection d’ID de classe pour les classes COM.
IEnumString Énumérer les chaînes. LPWStr est le type qui indique un pointeur vers une chaîne de caractères larges, ou Unicode, se terminant par zéro.
IEnumUnknown Énumère les objets avec l’interface IUnknown . Elle peut être utilisée pour énumérer les objets dans un composant contenant plusieurs objets.
IEventProperty Associe une propriété d’événement nommée à sa valeur.
IEventPublisher Inscrit, modifie, supprime et fournit des informations à propos d’un éditeur d’événements.
IExternalConnection Gère le nombre de connexions marshalées ou externes d'objet serveur. Un serveur qui gère ce type de compte peut détecter s’il n’a pas de connexions externes et s’arrêter de manière ordonnée.
IFastRundown Marque une interface comme éligible pour le comportement d’arrêt rapide.
IFileBasedLogInit Initialise une instance d’une implémentation basée sur un fichier de ILOG.
IForegroundTransfer Transfère la fenêtre de premier plan au processus qui héberge le serveur COM.
IGlobalInterfaceTable Permet à n’importe quel cloisonnement d’un processus d’obtenir l’accès à une interface implémentée sur un objet dans tout autre cloisonnement du processus.
IGlobalOptions Définit et interroge certaines propriétés globales du runtime COM.
IInitializeSpy Effectue l’initialisation ou le nettoyage lors de l’entrée ou de la sortie d’un cloisonnement COM.
IInternalUnknown Utilisé exclusivement dans les gestionnaires légers côté client qui requièrent l’accès à certaines interfaces internes sur le proxy.
ILog Fournit des fonctionnalités génériques de journalisation de bas niveau.
IMalloc Alloue, libère et gère la mémoire.
IMallocSpy Permet aux développeurs d’applications d’analyser l’allocation de mémoire (Spy on), de détecter les fuites de mémoire et de simuler une défaillance de mémoire dans les appels aux méthodes IMalloc .
IMarshal Permet à un objet COM de définir et gérer le marshaling de ses pointeurs d'interface.
IMarshalingStream Fournit des informations supplémentaires sur le contexte de marshaling pour les objets marshalés et les unmarshaleurs personnalisés.
IMessageFilter Fournit des serveurs et des applications COM avec la possibilité de gérer de manière sélective les messages COM entrants et sortants en attendant les réponses des appels synchrones. Le filtrage des messages permet de s’assurer que les appels sont gérés de manière à améliorer les performances et à éviter les interblocages. Les messages COM peuvent être synchrones, asynchrones ou synchronisés en entrée. la majorité des appels d’interface sont synchrones.
IMoniker Vous permet d’utiliser un objet moniker, qui contient des informations qui identifient de façon unique un objet COM. Un objet qui a un pointeur vers l’interface IMoniker de l’objet moniker peut localiser, activer et accéder à l’objet identifié sans avoir d’autres informations spécifiques sur l’emplacement réel de l’objet dans un système distribué.
IMultiQI Permet à un client d’interroger un proxy d’objet, ou gestionnaire, pour plusieurs interfaces à l’aide d’un seul appel RPC. À l’aide de cette interface, au lieu de s’appuyer sur des appels distincts à IUnknown :: QueryInterface, les clients peuvent réduire le nombre d’appels RPC qui doivent franchir les limites de thread, de processus ou d’ordinateur et, par conséquent, la durée nécessaire pour obtenir les pointeurs d’interface demandés.
IObjContext Effectue diverses opérations sur les contextes.
IOleItemContainer Utilisé par les monikers d’élément lorsqu’ils sont liés aux objets qu’ils identifient.
IOrpcDebugNotify Fournit des fonctionnalités de débogage distant.
IParseDisplayName Analyse une chaîne de nom affichable pour la convertir en moniker pour les implémentations personnalisées du moniker.
IPersist Fournit le CLSID d’un objet qui peut être stocké de manière permanente dans le système. Permet à l’objet de spécifier le gestionnaire d’objets à utiliser dans le processus client, tel qu’il est utilisé dans l’implémentation par défaut du marshaling.
IPersistFile Permet de charger un objet à partir de ou de l’enregistrer dans un fichier sur disque, plutôt que dans un objet de stockage ou un flux.
IPersistStorage Permet à une application de conteneur de passer un objet de stockage à l’un de ses objets contenus et de charger et d’enregistrer l’objet de stockage.
IPersistStream Active l’enregistrement et le chargement d’objets qui utilisent un flux série simple pour leurs besoins en stockage.
IPersist Remplacement d' IPersistStream qui ajoute une méthode d’initialisation.
IPipeByte Transfère les données du type Byte (qui est de 8 bits en largeur).
IPipeDouble Transfère les données du type double (ce qui correspond à 64 bits de largeur).
IPipeLong Transfère les données du type entier long (32 bits de largeur).
IProcessInitControl Spécifie l’intervalle du délai d’attente de l’initialisation du processus.
IProcessLock Utilisé par ISurrogateService pour empêcher le processus de se terminer en raison d’un délai d’attente.
IProgressNotify Permet aux applications et autres objets de recevoir des notifications de modifications dans la progression d’une opération de téléchargement.
IProvideClassInfo Fournit l’accès aux informations de type pour l’entrée de coclasse d’un objet dans sa bibliothèque de types.
IProvideClassInfo2 Une extension à IProvideClassInfo qui rend est plus rapide et plus facile de récupérer l’IID d’interface sortante d’un objet pour son jeu d’événements par défaut.
IProvideMultipleClassInfo Extension de IProvideClassInfo2 qui permet de récupérer plus rapidement et plus facilement des informations de type à partir d’un composant qui peut avoir plusieurs coclasses qui déterminent son comportement.
IPSFactoryBuffer Fournit des méthodes personnalisées pour la création de proxys d’objets COM et de stubs. Cette interface n’est pas marshalable.
IROTData Implémenté par les monikers pour permettre à la table ROT (Running Object Table) de comparer les monikers.
IRpcChannelBuffer Marshale les données entre un proxy client COM et un stub serveur COM.
IRpcOptions Permet aux appelants de définir ou d’interroger les valeurs de différentes propriétés qui contrôlent la façon dont COM gère les appels de procédure distante (RPC).
IRpcProxyBuffer Contrôle le proxy RPC utilisé pour marshaler les données entre les composants COM.
IRpcStubBuffer Contrôle le stub RPC utilisé pour marshaler les données entre les composants COM.
IRunnableObject Permet à un conteneur de contrôler l'exécution de ses objets incorporés. Dans le cas d’un objet implémenté avec un serveur local, l’appel de la méthode Run lance le fichier .EXE du serveur. Dans le cas d’un objet implémenté avec un serveur in-process, l’appel de la méthode Run provoque la transition de l’objet .DLL fichier à l’État en cours d’exécution.
IRunningObjectTable Gère l’accès à la table ROT (Running Object Table), une table de recherche accessible globalement sur chaque station de travail. Le ROT d’une station de travail effectue le suivi des objets qui peuvent être identifiés par un moniker et qui sont en cours d’exécution sur la station de travail. Lorsqu’un client tente de lier un moniker à un objet, le moniker vérifie la table ROT pour déterminer si l’objet est déjà en cours d’exécution ; Cela permet au moniker de se lier à l’instance actuelle au lieu de charger un nouveau.
IServerSecurity Utilisé par un serveur pour aider à authentifier le client et à gérer l’emprunt d’identité du client.
IStdMarshalInfo Récupère le CLSID identifiant le gestionnaire à utiliser dans le processus de destination pendant le marshaling standard.
ISurrogate Utilisé pour charger dynamiquement de nouveaux serveurs DLL dans un substitut existant et libérer le substitut lorsqu’il n’est plus nécessaire.
ISurrogateService Utilisé pour initialiser, lancer et libérer une application COM+. Vous pouvez également actualiser le catalogue et arrêter le processus.
ISynchronize Fournit une communication asynchrone entre des objets sur l’occurrence d’un événement. Les objets qui implémentent ISynchronize peuvent recevoir des indications indiquant qu’un événement s’est produit et ils peuvent répondre aux requêtes relatives à l’événement. De cette façon, les clients peuvent s’assurer qu’une demande a été traitée avant de soumettre une demande ultérieure qui dépend de l’achèvement de la première.
ISynchronizeContainer Gère un groupe d’objets de synchronisation non signalés.
ISynchronizeEvent Affecte un handle d’événement à un objet de synchronisation.
ISynchronizeHandle Récupère un handle associé à un objet de synchronisation.
IUnknown Permet aux clients d’obtenir des pointeurs vers d’autres interfaces sur un objet donné par le biais de la méthode QueryInterface et de gérer l’existence de l’objet par le biais des méthodes AddRef et Release . Toutes les autres interfaces COM sont héritées, directement ou indirectement, de IUnknown. Par conséquent, les trois méthodes dans IUnknown sont les premières entrées du VTable pour chaque interface.