Delen via


Interfaces (COM)

De volgende interfaces worden geleverd door COM.

Interface Beschrijving
IAccessControl- Hiermee kunt u toegang tot objecten en eigenschappen op de objecten beheren.
IAgileObject- Markeert een interface als agile tussen appartementen.
IBindCtx- Biedt toegang tot een bindingscontext. Dit is een object waarin informatie over een bepaalde monikerbindingsbewerking wordt opgeslagen.
IBlockingLock- Biedt een semaphore die kan worden gebruikt om tijdelijk exclusieve toegang te bieden tot een gedeelde resource, zoals een bestand.
ICallFactory- Hiermee maakt u een aanroepobject voor het verwerken van aanroepen naar de methoden van een asynchrone interface.
ICallFrame- Hiermee kunt u aanroepframes, zoals stackframes, bewerken. Het aanroepframe is de hoofdtekst van de informatie die een procedure moet opslaan, zodat deze correct terug kan keren naar de aanroeper. Er kan een aanroepframe bestaan op de stack of in registers. Een stackframe onderhoudt de contextinformatie van de aanroeper op de stack.
ICallFrameEvents Biedt aanroepmeldingen van methoden.
ICallFrameWalker- Begeleidt een stackframe op zoek naar interessante waarden.
ICallIndirect- Roept een object aan met een indirecte verwijzing naar de argumenten voor aanroepen in plaats van de traditionele directe aanroep.
ICallInterceptor- Ondersteunt de registratie en het ongedaan maken van registratie van gebeurtenissinks die rechtstreeks op de interface worden gemeld van aanroepen. Bovendien biedt deze interface een middel waarmee een aanroep kan worden uitgevoerd met een indirecte verwijzing naar de argumenten voor aanroepen.
ICallUnmarshal Wordt gebruikt aan de serverzijde (ontvangend) van een externe aanroep. Een geschikt exemplaar van ICallUnmarshal kan worden gebruikt om terug te zetten in een aanroepframe van een methode die eerder wordt aangeroepen door een aanroep naar ICallFrame::Marshal aan de clientzijde (verzenden).
ICancelMethodCalls Beheert annuleringsaanvragen voor een uitgaande methodeaanroep en bewaakt de huidige status van die methodeaanroep op de serverthread.
ICatInformation- Haalt informatie op over de categorieën die door een bepaalde klasse zijn geïmplementeerd of vereist, evenals informatie over de categorieën die zijn geregistreerd op de opgegeven computer.
ICatRegister- Biedt methoden voor het registreren en de registratie van onderdeelcategoriegegevens in het register. Dit omvat zowel de door mensen leesbare namen van categorieën als de categorieën die zijn geïmplementeerd/vereist voor een bepaald onderdeel of een bepaalde klasse.
IClassActivator- Hiermee geeft u een methode op waarmee een klasseobject wordt opgehaald.
IClassFactory- Hiermee kan een klasse objecten worden gemaakt.
IClassFactory2- Hiermee kan een class factory-object, in elk soort objectserver, het maken van objecten beheren via licentieverlening.
IClientSecurity- Geeft de client controle over de beveiligingsinstellingen voor elke afzonderlijke interfaceproxy van een object.
IComThreadingInfo Hiermee kunt u de volgende informatie verkrijgen over het appartement en de thread waarin de beller wordt uitgevoerd: appartementstype, threadtype en thread-GUID. Hiermee kunt u ook een thread-GUID opgeven.
IConnectionPoint- Ondersteunt verbindingspunten voor koppelbare objecten.
IConnectionPointContainer Ondersteunt verbindingspunten voor koppelbare objecten.
IContext- Ondersteunt het instellen van COM+-contexteigenschappen.
IContextCallback- Biedt een mechanisme voor het uitvoeren van een functie binnen een specifieke COM+-objectcontext.
IContinueCallback- Biedt een algemeen callback-mechanisme voor onderbreekbare processen die periodiek een object moeten vragen of ze moeten doorgaan.
IEnumCATID- Opsomming van categorie-id's.
IEnumCLSID Inventariseert klasse-id's.
IEnumCATEGORYINFO- Inventariseert onderdeelcategorieën die zijn geregistreerd in het systeem.
IEnumConnectionPoints- Opsomming van verbindingspunten.
IEnumConnections Opsomming van de huidige verbindingen voor een koppelbaar object.
IEnumContextProps- Biedt een mechanisme voor het inventariseren van de contexteigenschappen die zijn gekoppeld aan een COM+-objectcontext.
IEnumGUID- Hiermee kunnen clients een verzameling klasse-id's voor COM-klassen opsommen.
IEnumString- Opsommingstekenreeksen. LPWSTR- is het type dat een aanwijzer aangeeft op een tekenreeks met een tekenreeks met nul of Unicode.
IEnumUnknown- Inventariseert objecten met de interface IUnknown. Het kan worden gebruikt om de objecten in een onderdeel met meerdere objecten op te sommen.
IEventProperty- Hiermee koppelt u een benoemde gebeurteniseigenschap aan de bijbehorende waarde.
IEventPublisher- Registreert, wijzigt, verwijdert en biedt informatie over een gebeurtenisuitgever.
IExternalConnection- Hiermee beheert u het aantal marshaled of externe verbindingen van een serverobject. Een server die een dergelijk aantal onderhoudt, kan detecteren wanneer er geen externe verbindingen zijn en zichzelf op een ordelijke manier afsluiten.
IFastRundown- Markeert een interface als in aanmerking komend voor snel rundowngedrag.
IFileBasedLogInit- Initialiseert een exemplaar van een op bestanden gebaseerde implementatie van ILog-.
IForegroundTransfer Hiermee wordt het voorgrondvenster overgedragen naar het proces dat als host fungeert voor de COM-server.
IGlobalInterfaceTable Hiermee kan elk appartement in een proces toegang krijgen tot een interface die is geïmplementeerd op een object in een ander appartement in het proces.
IGlobalOptions- Hiermee stelt u bepaalde globale eigenschappen van de COM-runtime in en voert u query's uit.
IInitializeSpy Voert initialisatie of opschoning uit bij het binnenkomen of verlaten van een COM-appartement.
IInternalUnknown- Wordt uitsluitend gebruikt in lichtgewicht handlers aan de clientzijde die toegang nodig hebben tot een aantal interne interfaces in de proxy.
ILog- Biedt algemene functionaliteit voor logboekregistratie op laag niveau.
IMalloc- Hiermee wordt geheugen toegewezen, vrijgemaakt en beheerd.
IMallocSpy- Hiermee kunnen toepassingsontwikkelaars geheugentoewijzing bewaken (bespioneren), geheugenlekken detecteren en geheugenfouten simuleren in aanroepen naar IMalloc methoden.
IMarshal- Hiermee kan een COM-object de marshaling van de interfacepointers definiëren en beheren.
IMarshalingStream- Biedt aanvullende informatie over de marshaling-context voor aangepaste marshaled objecten en niet-marshalers.
IMessageFilter Biedt COM-servers en -toepassingen de mogelijkheid om inkomende en uitgaande COM-berichten selectief te verwerken terwijl wordt gewacht op reacties van synchrone oproepen. Door berichten te filteren, zorgt u ervoor dat aanroepen worden verwerkt op een manier die de prestaties verbetert en impasses voorkomt. COM-berichten kunnen synchroon, asynchroon of gesynchroniseerd zijn met invoer; het merendeel van de interfaceaanroepen is synchroon.
IMoniker- Hiermee kunt u een monikerobject gebruiken, dat informatie bevat die een COM-object uniek identificeert. Een object met een aanwijzer naar de IMoniker-interface van het moniker-object kan interface zoeken, activeren en toegang krijgen tot het geïdentificeerde object zonder andere specifieke informatie te hebben over waar het object zich daadwerkelijk in een gedistribueerd systeem bevindt.
IMultiQI- Hiermee kan een client een query uitvoeren op een objectproxy of handler voor meerdere interfaces met behulp van één RPC-aanroep. Door deze interface te gebruiken, in plaats van te vertrouwen op afzonderlijke aanroepen naar IUnknown::QueryInterface, kunnen clients het aantal RPC-aanroepen verminderen dat moet worden overschreden door threads, processen of machinegrenzen, en daarom de hoeveelheid tijd die nodig is om de aangevraagde interfaceaanwijzers te verkrijgen.
IObjContext- Voert verschillende bewerkingen uit op contexten.
IOleItemContainer Wordt gebruikt door item monikers wanneer ze zijn gebonden aan de objecten die ze identificeren.
IOrpcDebugNotify- Biedt functionaliteit voor externe foutopsporing.
IParseDisplayName- Parseert een weergavebare naamtekenreeks om deze te converteren naar een moniker voor aangepaste monikerimplementaties.
IPersist- Biedt de CLSID van een object dat permanent in het systeem kan worden opgeslagen. Hiermee kan het object opgeven welke objecthandler in het clientproces moet worden gebruikt, omdat het wordt gebruikt in de standaard implementatie van marshaling.
IPersistFile- Hiermee kan een object worden geladen van of opgeslagen in een schijfbestand, in plaats van een opslagobject of -stream.
IPersistStorage- Hiermee kan een containertoepassing een opslagobject doorgeven aan een van de ingesloten objecten en het opslagobject laden en opslaan.
IPersistStream- Hiermee kunt u objecten opslaan en laden die gebruikmaken van een eenvoudige seriële stroom voor hun opslagbehoeften.
IPersistStreamInit- Een vervanging voor IPersistStream- waarmee een initialisatiemethode wordt toegevoegd.
IPipeByte- Hiermee worden gegevens van het bytetype overgedragen (dit is 8 bits breed).
IPipeDouble- Hiermee worden gegevens van het dubbele type overgedragen (die 64 bits breed is).
IPipeLong Draagt gegevens over van het lange gehele getaltype (dit is 32 bits breed).
IProcessInitControl Hiermee geeft u het time-outinterval voor proces initialisatie op.
IProcessLock- Wordt gebruikt door ISurrogateService om te voorkomen dat het proces wordt beëindigd vanwege een time-out.
IProgressNotify- Hiermee kunnen toepassingen en andere objecten meldingen ontvangen van wijzigingen in de voortgang van een downloadbewerking.
IProvideClassInfo Biedt toegang tot de typegegevens voor de coklasse-vermelding van een object in de typebibliotheek.
IProvideClassInfo2 Een extensie voor IProvideClassInfo- waardoor het sneller en eenvoudiger is om de uitgaande interface-IID van een object op te halen voor de standaardgebeurtenisset.
IProvideMultipleClassInfo Een extensie voor IProvideClassInfo2 waardoor het sneller en gemakkelijker is om typegegevens op te halen uit een onderdeel met meerdere coklassen die het gedrag bepalen.
IPSFactoryBuffer- Biedt aangepaste methoden voor het maken van COM-objectproxy's en stubs. Deze interface is niet marshalable.
IROTData- Geïmplementeerd door monikers om de actieve objecttabel (ROT) in staat te stellen monikers met elkaar te vergelijken.
IRpcChannelBuffer- Marshals-gegevens tussen een COM-clientproxy en een COM-server-stub.
IRpcOptions- Hiermee kunnen bellers de waarden van verschillende eigenschappen instellen of er query's op uitvoeren die bepalen hoe COM externe procedure-aanroepen (RPC) verwerkt.
IRpcProxyBuffer Hiermee bepaalt u de RPC-proxy die wordt gebruikt voor marshal data tussen COM-onderdelen.
IRpcStubBuffer Hiermee bepaalt u de RPC-stub die wordt gebruikt voor marshal data tussen COM-onderdelen.
IRunnableObject Hiermee kan een container de uitvoering van de ingesloten objecten beheren. In het geval van een object dat is geïmplementeerd met een lokale server, start het aanroepen van de methode Uitvoeren de server .EXE bestand. In het geval van een object dat is geïmplementeerd met een in-process-server, zorgt het aanroepen van Uitvoeren ervoor dat het object .DLL bestand overgaat naar de actieve status.
IRunningObjectTable- Hiermee beheert u de toegang tot de actieve objecttabel (ROT), een wereldwijd toegankelijke opzoektabel op elk werkstation. De ROT van een werkstation houdt deze objecten bij die kunnen worden geïdentificeerd door een moniker en die momenteel op het werkstation worden uitgevoerd. Wanneer een client probeert een moniker aan een object te binden, controleert de moniker de ROT om te zien of het object al wordt uitgevoerd; Hierdoor kan de moniker verbinding maken met het huidige exemplaar in plaats van een nieuwe te laden.
IServerSecurity- Wordt gebruikt door een server om de client te verifiëren en om imitatie van de client te beheren.
IStdMarshalInfo Haalt de CLSID op die de handler identificeert die tijdens het standaard marshaling moet worden gebruikt in het doelproces.
ISurrogate- Wordt gebruikt om nieuwe DLL-servers dynamisch te laden in een bestaand surrogaat en het surrogaat vrij te maken wanneer deze niet meer nodig is.
ISurrogateService Wordt gebruikt om een COM+-toepassing te initialiseren, starten en vrijgeven. U kunt de catalogus ook vernieuwen en het proces afsluiten.
ISynchroniseren Biedt asynchrone communicatie tussen objecten over het optreden van een gebeurtenis. Objecten die ISynchronize implementeren kunnen aanwijzingen ontvangen dat er een gebeurtenis is opgetreden en ze kunnen reageren op query's over de gebeurtenis. Op deze manier kunnen clients ervoor zorgen dat één aanvraag is verwerkt voordat ze een volgende aanvraag indienen die afhankelijk is van de voltooiing van de eerste aanvraag.
ISynchronizeContainer Hiermee beheert u een groep niet-ondertekende synchronisatieobjecten.
ISynchronizeEvent- Hiermee wijst u een gebeurtenisgreep toe aan een synchronisatieobject.
ISynchronizeHandle- Hiermee haalt u een ingang op die is gekoppeld aan een synchronisatieobject.
IUnknown- Hiermee kunnen clients pointers naar andere interfaces op een bepaald object ophalen via de methode QueryInterface en het bestaan van het object beheren via de AddRef-- en Release--methoden. Alle andere COM-interfaces worden rechtstreeks of indirect overgenomen van IUnknown. Daarom zijn de drie methoden in IUnknown de eerste vermeldingen in de VTable voor elke interface.