Schnittstellen (COM)
Die folgenden Schnittstellen werden von COM bereitgestellt.
Schnittstelle | BESCHREIBUNG |
---|---|
IAccessControl | Ermöglicht die Verwaltung des Zugriffs auf Objekte und Eigenschaften für die Objekte. |
IAgileObject | Markiert eine Schnittstelle als wohnungsübergreifend agil. |
Ibindctx | Bietet Zugriff auf einen Bindungskontext, bei dem es sich um ein Objekt handelt, das Informationen zu einem bestimmten Monikerbindungsvorgang speichert. |
IBlockingLock | Stellt einen Semaphor bereit, der verwendet werden kann, um vorübergehend exklusiven Zugriff auf eine freigegebene Ressource wie z. B. eine Datei bereitzustellen. |
ICallFactory | Erstellt ein Aufrufobjekt zum Verarbeiten von Aufrufen der Methoden einer asynchronen Schnittstelle. |
ICallFrame | Ermöglicht die Bearbeitung von Aufrufframes, z. B. Stapelframes. Der Aufrufrahmen ist der Text der Informationen, die eine Prozedur speichern muss, damit sie ordnungsgemäß zu ihrem Aufrufer zurückkehren kann. Ein Aufrufframe kann im Stapel oder in Registern vorhanden sein. Ein Stapelrahmen verwaltet die Kontextinformationen des Aufrufers auf dem Stapel. |
ICallFrameEvents | Übermittelt Methodenaufrufbenachrichtigungen. |
ICallFrameWalker | Durchläuft einen Stapelrahmen auf der Suche nach interessanten Werten. |
ICallIndirect | Ruft ein -Objekt mit einem indirekten Verweis auf die Aufrufargumente anstelle des herkömmlichen direkten Aufrufs auf. |
ICallInterceptor | Unterstützt das Registrieren und Aufheben der Registrierung von Ereignissenken, die über Aufrufe benachrichtigt werden möchten, die direkt auf der Schnittstelle erfolgen. Darüber hinaus bietet diese Schnittstelle ein Mittel, mit dem ein Aufruf mit einem indirekten Verweis auf die Aufrufargumente ausgeführt werden kann. |
ICallUnmarshal | Wird auf der Serverseite (empfangend) eines Remoteaufrufs verwendet. Eine geeignete instance von ICallUnmarshal kann verwendet werden, um einen Methodenaufruf, der zuvor durch einen Aufruf von ICallFrame::Marshal auf der Clientseite gemarshallt wurde, in einen Aufrufrahmen zurück zu transformieren. |
ICancelMethodCalls | Verwaltet Abbruchanforderungen für einen ausgehenden Methodenaufruf und überwacht den aktuellen Zustand dieses Methodenaufrufs im Serverthread. |
ICatInformation | Ruft Informationen zu den Kategorien ab, die von einer bestimmten Klasse implementiert oder benötigt werden, sowie Informationen zu den Kategorien, die auf dem angegebenen Computer registriert sind. |
ICatRegister | Stellt Methoden zum Registrieren und Aufheben der Registrierung von Komponentenkategorieinformationen in der Registrierung bereit. Dies umfasst sowohl die für Menschen lesbaren Namen von Kategorien als auch die Kategorien, die von einer bestimmten Komponente oder Klasse implementiert bzw. benötigt werden. |
IClassActivator | Gibt eine Methode an, die ein Klassenobjekt abruft. |
IClassFactory | Ermöglicht das Erstellen einer Klasse von -Objekten. |
IClassFactory2 | Ermöglicht einem Klassenfactoryobjekt in jeder Art von Objektserver, die Objekterstellung durch Lizenzierung zu steuern. |
IClientSecurity | Gibt dem Client die Kontrolle über die Sicherheitseinstellungen für jeden einzelnen Schnittstellenproxy eines Objekts. |
IComThreadingInfo | Ermöglicht es Ihnen, die folgenden Informationen über das Apartment und den Thread abzurufen, in denen der Aufrufer ausgeführt wird: Apartmenttyp, Threadtyp und Thread-GUID. Außerdem können Sie eine Thread-GUID angeben. |
IConnectionPoint | Unterstützt Verbindungspunkte für Objekte, die verbunden werden können. |
IConnectionPointContainer | Unterstützt Verbindungspunkte für Objekte, die verbunden werden können. |
IContext | Unterstützt das Festlegen von COM+-Kontexteigenschaften. |
IContextCallback | Stellt einen Mechanismus zum Ausführen einer Funktion in einem bestimmten COM+-Objektkontext bereit. |
IContinueCallback | Stellt einen generischen Rückrufmechanismus für unterbrechbare Prozesse bereit, bei denen ein Objekt regelmäßig gefragt werden soll, ob die Fortsetzung fortgesetzt werden soll. |
IEnumCATID | Listet Kategoriebezeichner auf. |
IEnumCLSID | Listet Klassenbezeichner auf. |
IEnumCATEGORYINFO | Listet im System registrierte Komponentenkategorien auf. |
IEnumConnectionPoints | Listet Verbindungspunkte auf. |
IEnumConnections | Listet die aktuellen Verbindungen für ein verbindungsfähiges Objekt auf. |
IEnumContextProps | Stellt einen Mechanismus zum Aufzählen der Kontexteigenschaften bereit, die einem COM+-Objektkontext zugeordnet sind. |
IEnumGUID | Ermöglicht Clients das Aufzählen einer Auflistung von Klassen-IDs für COM-Klassen. |
IEnumString | Auflisten von Zeichenfolgen. LPWSTR ist der Typ, der einen Zeiger auf eine Zeichenfolge mit 0-Endung mit breiten Oder Unicode-Zeichen angibt. |
IEnumUnknown | Listet Objekte mit der IUnknown-Schnittstelle auf. Es kann verwendet werden, um die Objekte in einer Komponente aufzulisten, die mehrere Objekte enthält. |
IEventProperty | Ordnet eine benannte Ereigniseigenschaft ihrem Wert zu. |
IEventPublisher | Registriert, ändert, entfernt und stellt Informationen zu einem Ereignisherausgeber bereit. |
IExternalConnection | Verwaltet die Anzahl von gemarshallten oder externen Verbindungen eines Serverobjekts. Ein Server, der eine solche Anzahl verwaltet, kann erkennen, wenn er über keine externen Verbindungen verfügt, und sich in geordneter Weise herunterfahren. |
IFastRundown | Markiert eine Schnittstelle als geeignet für schnelles Rundownverhalten. |
IFileBasedLogInit | Initialisiert eine instance einer dateibasierten Implementierung von ILog. |
IForegroundTransfer | Überträgt das Vordergrundfenster an den Prozess, der den COM-Server hostt. |
IGlobalInterfaceTable | Ermöglicht jedem Apartment in einem Prozess den Zugriff auf eine Schnittstelle, die für ein Objekt in einem anderen Apartment im Prozess implementiert ist. |
IGlobalOptions | Legt bestimmte globale Eigenschaften der COM-Runtime fest und fragt sie ab. |
IInitializeSpy | Führt die Initialisierung oder Bereinigung beim Betreten oder Verlassen eines COM-Apartments durch. |
IInternalUnknown | Wird ausschließlich in einfachen clientseitigen Handlern verwendet, die Zugriff auf einige der internen Schnittstellen des Proxys erfordern. |
Ilog | Bietet generische Protokollierungsfunktionen auf niedriger Ebene. |
IMalloc | Ordnet Arbeitsspeicher zu bzw. gibt ihn frei und verwaltet ihn. |
IMallocSpy | Ermöglicht Anwendungsentwicklern, die Speicherbelegung zu überwachen (auszuspionieren), Speicherverluste zu erkennen und Speicherfehler bei Aufrufen von IMalloc-Methoden zu simulieren. |
IMarshal | Ermöglicht einem COM-Objekt, das Marshalling der Schnittstellenzeiger zu definieren und zu verwalten. |
IMarshalingStream | Stellt zusätzliche Informationen zum Marshallkontext für benutzerdefinierte Marshallobjekte und Entmarshaler bereit. |
Imessagefilter | Bietet COM-Servern und -Anwendungen die Möglichkeit, ein- und ausgehende COM-Nachrichten selektiv zu verarbeiten, während sie auf Antworten von synchronen Aufrufen warten. Durch das Filtern von Nachrichten wird sichergestellt, dass Anrufe so behandelt werden, dass die Leistung verbessert und Deadlocks vermieden werden. COM-Nachrichten können synchron, asynchron oder eingabesynchron sein. die meisten Schnittstellenaufrufe sind synchron. |
Imoniker | Ermöglicht die Verwendung eines Moniker-Objekts, das Informationen enthält, die ein COM-Objekt eindeutig identifizieren. Ein Objekt, das über einen Zeiger auf die IMoniker-Schnittstelle des Moniker-Objekts verfügt, kann das identifizierte Objekt suchen, aktivieren und darauf zugreifen, ohne über andere spezifische Informationen darüber zu verfügen, wo sich das Objekt tatsächlich in einem verteilten System befindet. |
IMultiQI | Ermöglicht einem Client das Abfragen eines Objektproxys oder -Handlers für mehrere Schnittstellen mithilfe eines einzelnen RPC-Aufrufs. Wenn Sie diese Schnittstelle verwenden, können Clients nicht auf separate Aufrufe von IUnknown::QueryInterface vertrauen, sondern die Anzahl der RPC-Aufrufe reduzieren, die Thread-, Prozess- oder Computergrenzen überschreiten müssen, und damit die Zeit, die zum Abrufen der angeforderten Schnittstellenzeiger erforderlich ist. |
IObjContext | Führt verschiedene Vorgänge für Kontexte aus. |
IOleItemContainer | Wird von Elementmonikern verwendet, wenn sie an die von ihnen identifizierten Objekte gebunden sind. |
IOrpcDebugNotify | Stellt Remotedebuggingfunktionen bereit. |
IParseDisplayName | Analysiert eine anzeigebare Namenszeichenfolge, um sie in einen Moniker für benutzerdefinierte Monikerimplementierungen zu konvertieren. |
Ipersist | Stellt die CLSID eines Objekts bereit, das dauerhaft im System gespeichert werden kann. Ermöglicht dem -Objekt die Angabe, welcher Objekthandler im Clientprozess verwendet werden soll, da er in der Standardimplementierung des Marshallings verwendet wird. |
Ipersistfile | Ermöglicht das Laden oder Speichern eines Objekts aus einer Datenträgerdatei anstelle eines Speicherobjekts oder -streams. |
IPersistStorage | Ermöglicht es einer Containeranwendung, ein Speicherobjekt an eines der enthaltenen Objekte zu übergeben und das Speicherobjekt zu laden und zu speichern. |
Ipersiststream | Ermöglicht das Speichern und Laden von Objekten, die einen einfachen seriellen Datenstrom für ihre Speicheranforderungen verwenden. |
IPersistStreamInit | Ein Ersatz für IPersistStream , der eine Initialisierungsmethode hinzufügt. |
IPipeByte | Überträgt Daten des Bytetyps (8 Bit breit). |
IPipeDouble | Überträgt Daten vom Typ Double (64 Bit breit). |
IPipeLong | Überträgt Daten des typs long integer (32 Bit breit). |
IProcessInitControl | Gibt das Timeoutintervall für die Prozessinitialisierung an. |
IProcessLock | Wird von ISurrogateService verwendet, um zu verhindern, dass der Prozess aufgrund eines Timeouts beendet wird. |
IProgressNotify | Ermöglicht Es Anwendungen und anderen Objekten, Benachrichtigungen über Änderungen im Verlauf eines Downloadvorgangs zu erhalten. |
IProvideClassInfo | Ermöglicht den Zugriff auf die Typinformationen für den Coklasseneintrag eines Objekts in seiner Typbibliothek. |
IProvideClassInfo2 | Eine Erweiterung von IProvideClassInfo , die das Abrufen der ausgehenden Schnittstelle eines Objekts für den Standardereignissatz ermöglicht. |
IProvideMultipleClassInfo | Eine Erweiterung von IProvideClassInfo2 , die das Abrufen von Typinformationen aus einer Komponente mit mehreren Coklassen ermöglicht, die ihr Verhalten bestimmen. |
IPSFactoryBuffer | Stellt benutzerdefinierte Methoden zum Erstellen von COM-Objektproxys und Stubs bereit. Diese Schnittstelle kann nicht gemarst werden. |
IROTData | Wird von Monikern implementiert, damit die laufende Objekttabelle (ROT) Moniker miteinander vergleichen kann. |
IRpcChannelBuffer | Marschallt Daten zwischen einem COM-Client-Proxy und einem COM-Server-Stub. |
IRpcOptions | Ermöglicht Aufrufenden das Festlegen oder Abfragen der Werte verschiedener Eigenschaften, die steuern, wie COM Remoteprozeduraufrufe (RPC) verarbeitet. |
IRpcProxyBuffer | Steuert den RPC-Proxy, der zum Marshallen von Daten zwischen COM-Komponenten verwendet wird. |
IRpcStubBuffer | Steuert den RPC-Stub, der zum Marshallen von Daten zwischen COM-Komponenten verwendet wird. |
IRunnableObject | Ermöglicht einem Container, die Ausführung der eingebetteten Objekte zu steuern. Im Fall eines Objekts, das mit einem lokalen Server implementiert ist, startet das Aufrufen der Run-Methode die .EXE Datei des Servers. Bei einem Objekt, das mit einem prozessinternen Server implementiert ist, führt das Aufrufen von Run dazu, dass das Objekt .DLL Datei in den Ausführungszustand übergeht. |
Irunningobjecttable | Verwaltet den Zugriff auf die ausgeführte Objekttabelle (ROT), eine global zugängliche Nachschlagetabelle auf jeder Arbeitsstation. Der ROT-Wert einer Arbeitsstation verfolgt die Objekte, die durch einen Moniker identifiziert werden können und die derzeit auf der Arbeitsstation ausgeführt werden. Wenn ein Client versucht, einen Moniker an ein Objekt zu binden, überprüft der Moniker den ROT-Wert, um festzustellen, ob das Objekt bereits ausgeführt wird. Dadurch kann der Moniker an den aktuellen instance binden, anstatt einen neuen zu laden. |
IServerSecurity | Wird von einem Server verwendet, um den Client zu authentifizieren und den Identitätswechsel des Clients zu verwalten. |
IStdMarshalInfo | Ruft die CLSID ab, die den Handler identifiziert, der während des Standard marshallings im Zielprozess verwendet werden soll. |
ISurrogate | Wird verwendet, um neue DLL-Server dynamisch in ein vorhandenes Ersatzgate zu laden und die Ersatzperson frei zu geben, wenn es nicht mehr benötigt wird. |
ISurrogateService | Wird zum Initialisieren, Starten und Freigeben einer COM+-Anwendung verwendet. Sie können den Katalog auch aktualisieren und den Prozess herunterfahren. |
ISynchronisieren | Stellt eine asynchrone Kommunikation zwischen Objekten über das Auftreten eines Ereignisses bereit. Objekte, die ISynchronize implementieren, können Hinweise darauf erhalten, dass ein Ereignis aufgetreten ist, und sie können auf Abfragen zum Ereignis reagieren. Auf diese Weise können Clients sicherstellen, dass eine Anforderung verarbeitet wurde, bevor sie eine nachfolgende Anforderung übermitteln, die vom Abschluss der ersten Anforderung abhängt. |
ISynchronizeContainer | Verwaltet eine Gruppe nicht signalisierter Synchronisierungsobjekte. |
ISynchronizeEvent | Weist einem Synchronisierungsobjekt ein Ereignishandle zu. |
ISynchronizeHandle | Ruft ein Handle ab, das einem Synchronisierungsobjekt zugeordnet ist. |
IUnknown | Ermöglicht Clients das Abrufen von Zeigern auf andere Schnittstellen für ein bestimmtes Objekt über die QueryInterface-Methode und das Verwalten des Vorhandenseins des Objekts über die AddRef- und Release-Methoden. Alle anderen COM-Schnittstellen werden direkt oder indirekt von IUnknown geerbt. Daher sind die drei Methoden in IUnknown die ersten Einträge in der VTable für jede Schnittstelle. |