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- | Kennzeichnet eine Schnittstelle als agil über Wohnungen hinweg. |
IBindCtx- | Bietet Zugriff auf einen Bindungskontext, bei dem es sich um ein Objekt handelt, das Informationen zu einem bestimmten Moniker-Bindungsvorgang speichert. |
IBlockingLock- | Stellt ein Semaphor bereit, das verwendet werden kann, um vorübergehend exklusiven Zugriff auf eine freigegebene Ressource wie eine Datei bereitzustellen. |
ICallFactory- | Erstellt ein Aufrufobjekt zum Verarbeiten von Aufrufen an die Methoden einer asynchronen Schnittstelle. |
ICallFrame- | Ermöglicht die Manipulation von Aufrufframes wie Stapelframes. Der Aufrufframe ist der Textkörper der Informationen, die eine Prozedur speichern muss, damit sie ordnungsgemäß an den Aufrufer zurückgegeben werden kann. Ein Aufrufframe kann im Stapel oder in Registern vorhanden sein. Ein Stapelframe verwaltet die Kontextinformationen des Aufrufers im Stapel. |
ICallFrameEvents- | Liefert Methodenaufrufbenachrichtigungen. |
ICallFrameWalker | Führt einen Stapelrahmen durch, der nach interessanten Werten sucht. |
ICallIndirect- | Ruft ein Objekt mit einem indirekten Verweis auf die Aufrufargumente anstelle des herkömmlichen direkten Aufrufs auf. |
ICallInterceptor- | Unterstützt die Registrierung und Aufhebung der Registrierung von Ereignissenken, die über Anrufe benachrichtigt werden möchten, die direkt an der Schnittstelle getätigt werden. Darüber hinaus bietet diese Schnittstelle ein Mittel, mit dem ein Aufruf mit einem indirekten Verweis auf die Aufrufargumente durchgeführt werden kann. |
ICallUnmarshal | Wird auf der Serverseite (empfangen) eines Remoteaufrufs verwendet. Eine geeignete Instanz von ICallUnmarshal- kann verwendet werden, um eine Methode zurück in einen Aufruffeld zu transformieren, die zuvor durch einen Aufruf von ICallFrame::Marshal auf der Clientseite (Senden) gemarstet wurde. |
ICancelMethodCalls | Verwaltet Abbruchanforderungen für einen ausgehenden Methodenaufruf und überwacht den aktuellen Status dieses Methodenaufrufs im Serverthread. |
ICatInformation- | Ruft Informationen zu den von einer bestimmten Klasse implementierten oder erforderlichen Kategorien sowie Informationen zu den Kategorien ab, die auf dem angegebenen Computer registriert sind. |
ICatRegister- | Stellt Methoden zum Registrieren und Aufheben der Registrierung von Komponentenkategorieinformationen in der Registrierung bereit. Dies schließt sowohl die lesbaren Namen von Kategorien als auch die von einer bestimmten Komponente oder Klasse implementierten/erforderlichen Kategorien ein. |
IClassActivator- | Gibt eine Methode an, die ein Klassenobjekt abruft. |
IClassFactory- | Ermöglicht das Erstellen einer Objektklasse. |
IClassFactory2- | Ermöglicht es einem Klassenfactoryobjekt in jeder Art von Objektserver, die Objekterstellung durch Lizenzierung zu steuern. |
IClientSecurity- | Ermöglicht dem Client die Kontrolle über die Sicherheitseinstellungen für jeden einzelnen Schnittstellenproxy eines Objekts. |
IComThreadingInfo- | Ermöglicht es Ihnen, die folgenden Informationen über die Wohnung 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 verbindebare Objekte. |
IConnectionPointContainer- | Unterstützt Verbindungspunkte für verbindebare Objekte. |
IContext- | Unterstützt das Festlegen von COM+-Kontexteigenschaften. |
IContextCallback- | Stellt einen Mechanismus zum Ausführen einer Funktion innerhalb eines bestimmten COM+-Objektkontexts bereit. |
IContinueCallback- | Stellt einen generischen Rückrufmechanismus für unterbrechungsfähige Prozesse bereit, die in regelmäßigen Abständen ein Objekt fragen sollten, ob der Vorgang fortgesetzt werden soll. |
IEnumCATID- | Listet Kategoriebezeichner auf. |
IEnumCLSID- | Listet Klassenbezeichner auf. |
IEnumCATEGORYINFO | Listet Komponentenkategorien auf, die im System registriert sind. |
IEnumConnectionPoints- | Listet Verbindungspunkte auf. |
IEnumConnections- | Listet die aktuellen Verbindungen für ein verbindebares 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 Sammlung von Klassen-IDs für COM-Klassen. |
IEnumString- | Aufzählen von Zeichenfolgen. LPWSTR- ist der Typ, der einen Zeiger auf eine leere Zeichenfolge mit breiten oder Unicode-Zeichen angibt. |
IEnumUnknown | Listet Objekte mit der IUnknown--Schnittstelle auf. Sie kann zum Aufzählen der Objekte in einer Komponente verwendet werden, die mehrere Objekte enthält. |
IEventProperty- | Ordnet eine benannte Ereigniseigenschaft dem Wert zu. |
IEventPublisher- | Registriert, ändert, entfernt und stellt Informationen zu einem Ereignisherausgeber bereit. |
IExternalConnection- | Verwaltet die Anzahl der gemarsteten oder externen Verbindungen eines Serverobjekts. Ein Server, der eine solche Anzahl verwaltet, kann erkennen, wenn keine externen Verbindungen vorhanden sind und sich ordnungsgemäß herunterfahren. |
IFastRundown- | Kennzeichnet eine Schnittstelle als geeignet für schnelle Ausführungsverhalten. |
IFileBasedLogInit | Initialisiert eine Instanz einer dateibasierten Implementierung von ILog. |
IForegroundTransfer- | Überträgt das Vordergrundfenster an den Prozess, bei dem der COM-Server gehostet wird. |
IGlobalInterfaceTable- | Ermöglicht allen Wohnungen in einem Prozess den Zugriff auf eine Schnittstelle, die auf einem Objekt in einem anderen Apartment im Prozess implementiert wird. |
IGlobalOptions | Legt bestimmte globale Eigenschaften der COM-Laufzeit fest und fragt sie ab. |
IInitializeSpy | Führt Initialisierung oder Bereinigung durch, wenn sie ein COM-Apartment betreten oder verlassen. |
IInternalUnknown | Wird ausschließlich in einfachen clientseitigen Handlern verwendet, die Zugriff auf einige der internen Schnittstellen auf dem Proxy erfordern. |
ILog- | Stellt generische Protokollierungsfunktionen auf niedriger Ebene bereit. |
IMalloc- | Ordnet Speicher frei, frei und verwaltet diesen. |
IMallocSpy | Ermöglicht Anwendungsentwicklern das Überwachen (Überwachen) der Speicherzuweisung, erkennen Speicherlecks und simulieren Speicherfehler bei Aufrufen von IMalloc Methoden. |
IMarshal | Ermöglicht es einem COM-Objekt, die Marshalling seiner Schnittstellenzeiger zu definieren und zu verwalten. |
IMarshalingStream- | Stellt zusätzliche Informationen zum Marshallingkontext für benutzerdefinierte Marshaled-Objekte und Entmarshaler bereit. |
IMessageFilter- | Bietet COM-Server und -Anwendungen die Möglichkeit, eingehende und ausgehende COM-Nachrichten selektiv zu verarbeiten, während sie auf Antworten von synchronen Aufrufen warten. Durch das Filtern von Nachrichten können Sie sicherstellen, dass Anrufe auf eine Weise verarbeitet werden, die die Leistung verbessert und Deadlocks verhindert. COM-Nachrichten können synchron, asynchron oder eingabesynchron sein; Der Großteil der Schnittstellenaufrufe ist synchron. |
IMoniker | Ermöglicht es Ihnen, ein Moniker-Objekt zu verwenden, das Informationen enthält, die ein COM-Objekt eindeutig identifiziert. Ein Objekt, das über einen Zeiger auf die IMoniker Schnittstelle des Moniker-Objekts verfügt, kann das identifizierte Objekt suchen, aktivieren und auf das identifizierte Objekt zugreifen, ohne andere spezifische Informationen darüber zu erhalten, 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 die Anzahl der RPC-Aufrufe reduzieren, die Thread-, Prozess- oder Computergrenzen überschreiten müssen, und somit die Zeit, die zum Abrufen der angeforderten Schnittstellenzeiger erforderlich ist, durch die Anzahl der RPC-Aufrufe reduziert werden, anstatt sich auf separate Aufrufe von IUnknown::QueryInterfacezu verlassen. |
IObjContext- | Führt verschiedene Vorgänge in Kontexten aus. |
IOleItemContainer- | Wird von Elementmonikern verwendet, wenn sie an die objekte gebunden sind, die sie identifizieren. |
IOrpcDebugNotify | Stellt Remotedebuggingfunktionen bereit. |
IParseDisplayName- | Analysiert eine anzeigefähige Namenszeichenfolge, um sie in einen Moniker für benutzerdefinierte Monikerimplementierungen umzuwandeln. |
IPersist- | Stellt die CLSID eines Objekts bereit, das dauerhaft im System gespeichert werden kann. Ermöglicht dem Objekt anzugeben, welcher Objekthandler im Clientprozess verwendet werden soll, wie er in der Standardimplementierung von Marshaling verwendet wird. |
IPersistFile- | Ermöglicht das Laden oder Speichern eines Objekts in einer Datenträgerdatei anstelle eines Speicherobjekts oder Datenstroms. |
IPersistStorage | Ermöglicht es einer Containeranwendung, ein Speicherobjekt an eines seiner 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 des doppelten Typs (64 Bit breit). |
IPipeLong- | Überträgt Daten des langen ganzzahligen Typs (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 Anwendungen und anderen Objekten, Benachrichtigungen über Änderungen im Verlauf eines Downloadvorgangs zu erhalten. |
IProvideClassInfo- | Bietet Zugriff auf die Typinformationen für den Coclass-Eintrag eines Objekts in seiner Typbibliothek. |
IProvideClassInfo2- | Eine Erweiterung IProvideClassInfo-, die das Abrufen der ausgehenden Schnittstelle IID eines Objekts für den Standardereignissatz schneller und einfacher macht. |
IProvideMultipleClassInfo | Eine Erweiterung für IProvideClassInfo2-, die das Abrufen von Typinformationen aus einer Komponente beschleunigt und einfacher macht, die möglicherweise mehrere Coclasses aufweisen, die ihr Verhalten bestimmen. |
IPSFactoryBuffer- | Stellt benutzerdefinierte Methoden zum Erstellen von COM-Objektproxys und Stubs bereit. Diese Schnittstelle ist nicht marshallfähig. |
IROTData- | Implementiert von Monikern, um die laufende Objekttabelle (ROT) zum Vergleichen von Monikern zu ermöglichen. |
IRpcChannelBuffer | Marshallen von Daten zwischen einem COM-Clientproxy und einem COM-Server-Stub. |
IRpcOptions | Ermöglicht Aufrufern das Festlegen oder Abfragen der Werte verschiedener Eigenschaften, die steuern, wie COM Remoteprozeduraufrufe (REMOTE Procedure Calls, 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 es einem Container, die Ausführung seiner eingebetteten Objekte zu steuern. Bei einem Objekt, das mit einem lokalen Server implementiert ist, wird durch Aufrufen der Run-Methode die .EXE Datei des Servers gestartet. Bei einem Objekt, das mit einem In-Process-Server implementiert ist, bewirkt das Aufrufen von Ausführen, dass das Objekt .DLL Datei in den ausgeführten Zustand übergeht. |
IRunningObjectTable- | Verwaltet den Zugriff auf die ausgeführte Objekttabelle (ROT), eine global zugängliche Nachschlagetabelle auf jeder Arbeitsstation. Die ROT einer Arbeitsstation verfolgt diese 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 rot, um festzustellen, ob das Objekt bereits ausgeführt wird. dies ermöglicht es dem Moniker, eine Bindung an die aktuelle Instanz zu erstellen, anstatt eine neue 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 der Standardmarsing im Zielprozess verwendet werden soll. |
ISurrogate- | Wird verwendet, um neue DLL-Server dynamisch in eine vorhandene Ersatzlösung zu laden und den Ersatz frei zu geben, wenn er nicht mehr benötigt wird. |
ISurrogateService- | Wird verwendet, um eine COM+-Anwendung zu initialisieren, zu starten und freizugeben. Sie können den Katalog auch aktualisieren und den Prozess herunterfahren. |
ISynchronize- | 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 von der Fertigstellung des ersten abhängt. |
ISynchronizeContainer- | Verwaltet eine Gruppe von nicht signalierten Synchronisierungsobjekten. |
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 methoden AddRef und Release. Alle anderen COM-Schnittstellen werden direkt oder indirekt von IUnknowngeerbt. Daher sind die drei Methoden in IUnknown die ersten Einträge in der VTable für jede Schnittstelle. |