Partager via


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 entre les appartements.
IBindCtx Fournit l’accès à un contexte de liaison, qui est un objet qui stocke des informations sur une opération de liaison moniker particulière.
IBlockingLock Fournit un sémaphore qui peut être utilisé pour fournir un accès temporairement exclusif à une ressource partagée telle qu’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 trames d’appel telles que les trames de pile. Le cadre d’appel est le corps des informations qu’une procédure doit enregistrer pour lui permettre de revenir correctement à son appelant. Une trame d’appel peut exister sur la pile ou dans les registres. Une trame de pile conserve les informations de contexte de son appelant sur la pile.
ICallFrameEvents Fournit des notifications d’appel de méthode.
ICallFrameWalker Décrit un cadre 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 la désinscripation 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é côté serveur (réception) d’un appel distant. Une instance appropriée d’ICallUnmarshal peut être utilisée pour transformer en image d’appel d’appel de méthode précédemment marshalée 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 de 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’inscription des informations de catégorie de composant dans le Registre. Cela inclut à la fois les noms lisibles par l’homme 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 de créer une classe d’objets.
IClassFactory2 Permet à un objet de fabrique de classes, dans n’importe quel type de serveur d’objets, de contrôler la création d’objets par le biais d’une licence.
IClientSecurity Donne au client le contrôle des paramètres de sécurité pour chaque proxy d’interface individuel d’un objet.
IComThreadingInfo Vous permet d’obtenir les informations suivantes sur l’appartement et le thread dans lesquels l’appelant s’exécute : type d’appartement, type de thread et GUID de thread. Il vous permet également de spécifier un GUID de thread.
IConnectionPoint Prend en charge les points de connexion pour les objets connectables.
IConnectionPointContainer 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 pour 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 interruptibles qui doivent demander régulièrement à un objet s’il faut 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 actuelles d’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 via une collection d’ID de classe pour les classes COM.
IEnumString Énumérez les chaînes. LPWSTR est le type qui indique un pointeur vers une chaîne à terminaison zéro de caractères larges ou Unicode.
IEnumUnknown Énumère les objets avec l’interface IUnknown . Il peut être utilisé pour énumérer les objets d’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 sur un éditeur d’événements.
IExternalConnection Gère le nombre de connexions marshalées ou externes d'objet serveur. Un serveur qui gère un tel nombre peut détecter lorsqu’il n’a pas de connexions externes et s’arrêter de manière ordonnée.
IFastRundown Marque une interface comme éligible pour un comportement d’exécution rapide.
IFileBasedLogInit Initialise une instance d’une implémentation basée sur un fichier d’ILog.
IForegroundTransfer Transfère la fenêtre de premier plan vers le processus qui héberge le serveur COM.
IGlobalInterfaceTable Permet à n’importe quel appartement d’un processus d’accéder à une interface implémentée sur un objet dans n’importe quel autre appartement 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 appartement COM.
IInternalUnknown Utilisé exclusivement dans les gestionnaires légers côté client qui nécessitent l’accès à certaines interfaces internes sur le proxy.
Ilog Fournit une fonctionnalité de journalisation générique de bas niveau.
IMalloc Alloue, libère et gère la mémoire.
IMallocSpy Permet aux développeurs d’applications de surveiller (espionner) l’allocation de mémoire, 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 des objets et des démarshalateurs personnalisés.
IMessageFilter Fournit aux serveurs et applications COM la possibilité de gérer de manière sélective les messages COM entrants et sortants tout en attendant des réponses d’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 un objet COM de manière unique. 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 un gestionnaire, pour plusieurs interfaces à l’aide d’un seul appel RPC. En utilisant 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 traverser les limites de thread, de processus ou de machine et, par conséquent, le temps 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 à distance.
IParseDisplayName Analyse une chaîne de nom affichable pour la convertir en moniker pour les implémentations de moniker personnalisées.
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 d’un fichier disque ou de l’enregistrer dans celui-ci, plutôt qu’un objet ou un flux de stockage.
IPersistStorage Permet à une application conteneur de passer un objet de stockage à l’un de ses objets contenus et de charger et d’enregistrer l’objet de stockage.
IPersistStream Permet l’enregistrement et le chargement d’objets qui utilisent un flux série simple pour leurs besoins de stockage.
IPersistStreamInit Remplacement de IPersistStream qui ajoute une méthode d’initialisation.
IPipeByte Transfère les données du type d’octet (qui est de 8 bits de large).
IPipeDouble Transfère des données du type double (qui est de 64 bits de large).
IPipeLong Transfère les données du type entier long (qui a une largeur de 32 bits).
IProcessInitControl Spécifie l’intervalle de délai d’attente d’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 aux autres objets de recevoir des notifications de modifications en cours 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 Extension à IProvideClassInfo qui permet de récupérer plus rapidement et plus facilement l’iid d’interface sortante d’un objet pour son jeu d’événements par défaut.
IProvideMultipleClassInfo Extension à 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 proxies et de stubs d’objets COM. Cette interface n’est pas marshalable.
IROTData Implémenté par les monikers pour permettre à la table d’objets en cours d’exécution (ROT) de comparer les monikers entre eux.
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 Run entraîne la transition de l’objet .DLL fichier vers l’état d’exécution.
IRunningObjectTable Gère l’accès à la table d’objets en cours d’exécution (ROT), 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 actuellement en cours d’exécution sur la station de travail. Lorsqu’un client tente de lier un moniker à un objet, le moniker vérifie le ROT pour voir si l’objet est déjà en cours d’exécution ; cela permet au moniker de se lier au instance actuel au lieu d’en charger un nouveau.
IServerSecurity Utilisé par un serveur pour 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 Permet de charger dynamiquement de nouveaux serveurs DLL dans un substitut existant et de libérer le substitut lorsqu’il n’est plus nécessaire.
ISurrogateService Permet d’initialiser, de lancer et de publier une application COM+. Vous pouvez également actualiser le catalogue et arrêter le processus.
ISynchronize Fournit une communication asynchrone entre les 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 répondre aux requêtes sur l’événement. De cette façon, les clients peuvent s’assurer qu’une seule demande a été traitée avant d’envoyer une demande suivante qui dépend de l’achèvement de la première.
ISynchronizeContainer Gère un groupe d’objets de synchronisation non signé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é via la méthode QueryInterface et de gérer l’existence de l’objet via les méthodes AddRef et Release . Toutes les autres interfaces COM sont héritées, directement ou indirectement, d’IUnknown. Par conséquent, les trois méthodes dans IUnknown sont les premières entrées dans le VTable pour chaque interface.