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