System.Runtime.InteropServices Naamruimte

Biedt een groot aantal leden die COM-interoperabiliteit en platformoproepservices ondersteunen. Als u niet bekend bent met deze services, raadpleegt u Interoperating with Unmanaged Code.

Klassen

Name Description
AllowReversePInvokeCallsAttribute

Hiermee kan een niet-beheerde methode een beheerde methode aanroepen.

AutomationProxyAttribute

Hiermee geeft u op of het type moet worden marshaled met behulp van de Automation marshaler of een aangepaste proxy en stub.

BestFitMappingAttribute

Hiermee bepaalt u of Unicode-tekens worden geconverteerd naar de dichtstbijzijnde overeenkomende ANSI-tekens.

BStrWrapper

Marshals-gegevens van het type VT_BSTR van beheerd naar onbeheerde code. Deze klasse kan niet worden overgenomen.

ClassInterfaceAttribute

Geeft het type klasse-interface aan dat moet worden gegenereerd voor een klasse die wordt blootgesteld aan COM, als er helemaal een interface wordt gegenereerd.

CoClassAttribute

Hiermee geeft u de klasse-id van een coklasse geïmporteerd uit een typebibliotheek.

ComAliasNameAttribute

Geeft de COM-alias voor een parameter of veldtype aan.

ComAwareEventInfo

Hiermee staat u late gebonden registratie van een gebeurtenis-handler toe.

ComCompatibleVersionAttribute

Geeft aan een COM-client aan dat alle klassen in de huidige versie van een assembly compatibel zijn met klassen in een eerdere versie van de assembly.

ComConversionLossAttribute

Geeft aan dat informatie verloren is gegaan over een klasse of interface toen deze werd geïmporteerd uit een typebibliotheek naar een assembly.

ComDefaultInterfaceAttribute

Hiermee geeft u een standaardinterface om beschikbaar te maken voor COM. Deze klasse kan niet worden overgenomen.

ComEventInterfaceAttribute

Identificeert de broninterface en de klasse die de methoden implementeert van de gebeurtenisinterface die wordt gegenereerd wanneer een coklasse wordt geïmporteerd uit een COM-typebibliotheek.

ComEventsHelper

Biedt methoden waarmee .NET gemachtigden die gebeurtenissen verwerken, kunnen worden toegevoegd en verwijderd uit COM-objecten.

COMException

De uitzondering die wordt gegenereerd wanneer een niet-herkende HRESULT wordt geretourneerd vanuit een COM-methodeaanroep.

ComImportAttribute

Geeft aan dat het toegewezen type eerder is gedefinieerd in COM.

ComRegisterFunctionAttribute

Hiermee geeft u de methode die moet worden aangeroepen wanneer u een assembly registreert voor gebruik vanuit COM; Dit maakt het mogelijk om tijdens het registratieproces door de gebruiker geschreven code uit te voeren.

ComSourceInterfacesAttribute

Identificeert een lijst met interfaces die worden weergegeven als COM-gebeurtenisbronnen voor de toegewezen klasse.

ComUnregisterFunctionAttribute

Hiermee geeft u de methode op die moet worden aangeroepen wanneer u de registratie van een assembly voor gebruik van COM ongedaan wilt maken; dit maakt het mogelijk om door de gebruiker geschreven code uit te voeren tijdens het registratieproces.

ComVisibleAttribute

Hiermee bepaalt u de toegankelijkheid van een afzonderlijk beheerd type of lid, of van alle typen binnen een assembly, aan COM.

CriticalHandle

Vertegenwoordigt een wrapperklasse voor het verwerken van resources.

CurrencyWrapper

Wraps objecten de marshaler moet marshal als een VT_CY.

DefaultCharSetAttribute

Hiermee geeft u de waarde van de CharSet opsomming. Deze klasse kan niet worden overgenomen.

DefaultDllImportSearchPathsAttribute

Hiermee geeft u de paden op die worden gebruikt voor het zoeken naar DLL's die functies bieden voor platform-aanroepen.

DefaultParameterValueAttribute

Hiermee stelt u de standaardwaarde van een parameter in wanneer deze wordt aangeroepen vanuit een taal die standaardparameters ondersteunt. Deze klasse kan niet worden overgenomen.

DispatchWrapper

Wraps objecten de marshaler moet marshal als een VT_DISPATCH.

DispIdAttribute

Hiermee geeft u de COM dispatch identifier (DISPID) van een methode, veld of eigenschap.

DllImportAttribute

Geeft aan dat de toegewezen methode wordt weergegeven door een niet-beheerde DLL (Dynamic Link Library) als een statisch toegangspunt.

ErrorWrapper

Wraps objecten de marshaler moet marshal als een VT_ERROR.

ExtensibleClassFactory

Hiermee kunt u beheerde objecten aanpassen die zich tijdens het maken uitbreiden van niet-beheerde objecten.

ExternalException

Het basisonderzonderingstype voor alle COM-interop-uitzonderingen en SEH-uitzonderingen (Structured Exception Handling).

FieldOffsetAttribute

Hiermee wordt de fysieke positie van velden in de onbeheerde weergave van een klasse of structuur aangegeven.

GuidAttribute

Levert een expliciete Guid wanneer een automatische GUID ongewenst is.

HandleCollector

Houdt openstaande ingangen bij en dwingt een garbagecollection af wanneer de opgegeven drempelwaarde wordt bereikt.

IDispatchImplAttribute

Geeft aan welke IDispatch implementatie de algemene taalruntime gebruikt bij het blootstellen van dubbele interfaces en dispinterfaces aan COM.

ImportedFromTypeLibAttribute

Geeft aan dat de typen die zijn gedefinieerd in een assembly oorspronkelijk zijn gedefinieerd in een typebibliotheek.

InAttribute

Hiermee wordt aangegeven dat gegevens van de beller naar de beller moeten worden gespoeld, maar niet terug naar de beller.

InterfaceTypeAttribute

Hiermee wordt aangegeven of een beheerde interface dubbele, alleen-verzendende interface of IUnknown -only is wanneer deze beschikbaar wordt gesteld aan COM.

InvalidComObjectException

De uitzondering die wordt gegenereerd wanneer een ongeldig COM-object wordt gebruikt.

InvalidOleVariantTypeException

De uitzondering die door de marshaler wordt gegenereerd wanneer er een argument van een varianttype optreedt dat niet kan worden marshaled aan beheerde code.

LCIDConversionAttribute

Geeft aan dat de onbeheerde handtekening van een methode een LCID-parameter (Locale Identifier) verwacht.

ManagedToNativeComInteropStubAttribute

Biedt ondersteuning voor het aanpassen van gebruikers van interop-stubs in scenario's voor beheerde naar-COM-interoperabiliteit.

Marshal

Biedt een verzameling methoden voor het toewijzen van niet-beheerd geheugen, het kopiëren van niet-beheerde geheugenblokken en het converteren van beheerde typen naar niet-beheerde typen, evenals andere diverse methoden die worden gebruikt bij interactie met niet-beheerde code.

MarshalAsAttribute

Hiermee wordt aangegeven hoe u de gegevens tussen beheerde en onbeheerde code kunt marshalen.

MarshalDirectiveException

De uitzondering die wordt veroorzaakt door de marshaler wanneer er een MarshalAsAttribute wordt aangedaan, wordt deze niet ondersteund.

MemoryMarshal

Biedt methoden om samen te werken met Memory<T>, ReadOnlyMemory<T>en Span<T>ReadOnlySpan<T>.

OptionalAttribute

Geeft aan dat een parameter optioneel is.

OutAttribute

Geeft aan dat gegevens moeten worden marshaled van callee terug naar beller.

PreserveSigAttribute

Geeft aan dat de HRESULT-handtekeningtransformatie die plaatsvindt tijdens COM-interop-aanroepen moet worden onderdrukt.

PrimaryInteropAssemblyAttribute

Geeft aan dat de toegeschreven assembly een primaire interoperabiliteitsassembly is.

ProgIdAttribute

Hiermee kan de gebruiker de ProgID van een klasse opgeven.

RegistrationServices

Biedt een set services voor het registreren en ongedaan maken van de registratie van beheerde assembly's voor gebruik vanuit COM.

RuntimeEnvironment

Biedt een verzameling static methoden die informatie retourneren over de algemene runtime-omgeving voor taal.

RuntimeInformation

Bevat informatie over de .NET runtime-installatie.

SafeArrayRankMismatchException

De uitzondering die optreedt wanneer de positie van een binnenkomende SAFEARRAY waarde niet overeenkomt met de positie die is opgegeven in de beheerde handtekening.

SafeArrayTypeMismatchException

De uitzondering die wordt gegenereerd wanneer het type van de binnenkomende SAFEARRAY e-mail niet overeenkomt met het type dat is opgegeven in de beheerde handtekening.

SafeBuffer

Biedt een gecontroleerde geheugenbuffer die kan worden gebruikt voor lezen en schrijven. Pogingen om toegang te krijgen tot geheugen buiten de gecontroleerde buffer (underruns en overruns) veroorzaken uitzonderingen.

SafeHandle

Vertegenwoordigt een wrapper-klasse voor besturingsgrepen van het besturingssysteem. Deze klasse moet worden overgenomen.

SEHException

Vertegenwoordigt SEH-fouten (Structured Exception Handling).

SequenceMarshal

Biedt een verzameling methoden voor samenwerking met ReadOnlySequence<T>.

SetWin32ContextInIDispatchAttribute

Dit kenmerk is afgeschaft.

StandardOleMarshalObject

Vervangt de standaard common language runtime (CLR) free-threaded marshaler door de standaard OLE STA marshaler.

StructLayoutAttribute

Hiermee kunt u de fysieke indeling van de gegevensvelden van een klasse of structuur in het geheugen beheren.

TypeIdentifierAttribute

Biedt ondersteuning voor gelijkwaardigheid van het type.

TypeLibConverter

Biedt een set services waarmee een beheerde assembly wordt geconverteerd naar een COM-typebibliotheek en omgekeerd.

TypeLibFuncAttribute

Bevat de FUNCFLAGS oorspronkelijk geïmporteerde methode uit de COM-typebibliotheek.

TypeLibImportClassAttribute

Hiermee geeft u op welke Type uitsluitend een interface wordt gebruikt. Deze klasse kan niet worden overgenomen.

TypeLibTypeAttribute

Bevat de TYPEFLAGS oorspronkelijk geïmporteerde voor dit type uit de COM-typebibliotheek.

TypeLibVarAttribute

Bevat de VARFLAGS oorspronkelijk geïmporteerde gegevens voor dit veld uit de COM-typebibliotheek.

TypeLibVersionAttribute

Hiermee geeft u het versienummer van een geëxporteerde typebibliotheek.

UnknownWrapper

Wraps objecten de marshaler moet marshal als een VT_UNKNOWN.

UnmanagedFunctionPointerAttribute

Hiermee bepaalt u het marshalinggedrag van een gedelegeerde handtekening die als een niet-beheerde functieaanwijzer naar of van onbeheerde code wordt doorgegeven. Deze klasse kan niet worden overgenomen.

VariantWrapper

Marshals-gegevens van het type VT_VARIANT | VT_BYREF van beheerd naar onbeheerde code. Deze klasse kan niet worden overgenomen.

Structs

Name Description
ArrayWithOffset

Een matrix en een offset in de opgegeven matrix inkapselen.

BIND_OPTS

Gebruik in plaats daarvan BIND_OPTS.

BINDPTR

Gebruik in plaats daarvan BINDPTR.

CONNECTDATA

Gebruik in plaats daarvan CONNECTDATA.

DISPPARAMS

Gebruik in plaats daarvan DISPPARAMS.

ELEMDESC

Gebruik in plaats daarvan ELEMDESC.

ELEMDESC.DESCUNION

Gebruik in plaats daarvan ELEMDESC.DESCUNION.

EXCEPINFO

Gebruik in plaats daarvan EXCEPINFO.

FILETIME

Gebruik in plaats daarvan FILETIME.

FUNCDESC

Gebruik in plaats daarvan FUNCDESC.

GCHandle

Biedt een manier om toegang te krijgen tot een beheerd object vanuit onbeheerd geheugen.

HandleRef

Verpakt een beheerd object met een ingang naar een resource die wordt doorgegeven aan onbeheerde code met behulp van platform-aanroep.

IDLDESC

Gebruik in plaats daarvan IDLDESC.

OSPlatform

Vertegenwoordigt een besturingssysteemplatform.

PARAMDESC

Gebruik in plaats daarvan PARAMDESC.

STATSTG

Gebruik in plaats daarvan STATSTG.

TYPEATTR

Gebruik in plaats daarvan TYPEATTR.

TYPEDESC

Gebruik in plaats daarvan TYPEDESC.

TYPELIBATTR

Gebruik in plaats daarvan TYPELIBATTR.

VARDESC

Gebruik in plaats daarvan VARDESC.

VARDESC.DESCUNION

Gebruik in plaats daarvan VARDESC.DESCUNION.

Interfaces

Name Description
_Activator

Hiermee wordt de Activator klasse beschikbaar gesteld aan onbeheerde code.

_Assembly

Stelt de openbare leden van de Assembly klasse beschikbaar voor onbeheerde code.

_AssemblyBuilder

Hiermee wordt de AssemblyBuilder klasse beschikbaar gesteld aan onbeheerde code.

_AssemblyName

Hiermee wordt de AssemblyName klasse beschikbaar gesteld aan onbeheerde code.

_Attribute

Hiermee wordt de Attribute klasse beschikbaar gesteld aan onbeheerde code.

_ConstructorBuilder

Hiermee wordt de ConstructorBuilder klasse beschikbaar gesteld aan onbeheerde code.

_ConstructorInfo

Stelt de openbare leden van de ConstructorInfo klasse beschikbaar voor onbeheerde code.

_CustomAttributeBuilder

Hiermee wordt de CustomAttributeBuilder klasse beschikbaar gesteld aan onbeheerde code.

_EnumBuilder

Hiermee wordt de EnumBuilder klasse beschikbaar gesteld aan onbeheerde code.

_EventBuilder

Hiermee wordt de EventBuilder klasse beschikbaar gesteld aan onbeheerde code.

_EventInfo

Stelt de openbare leden van de EventInfo klasse beschikbaar voor onbeheerde code.

_Exception

Stelt de openbare leden van de Exception klasse beschikbaar voor onbeheerde code.

_FieldBuilder

Hiermee wordt de FieldBuilder klasse beschikbaar gesteld aan onbeheerde code.

_FieldInfo

Stelt de openbare leden van de FieldInfo klasse beschikbaar voor onbeheerde code.

_ILGenerator

Hiermee wordt de ILGenerator klasse beschikbaar gesteld aan onbeheerde code.

_LocalBuilder

Hiermee wordt de LocalBuilder klasse beschikbaar gesteld aan onbeheerde code.

_MemberInfo

Stelt de openbare leden van de MemberInfo klasse beschikbaar voor onbeheerde code.

_MethodBase

Stelt de openbare leden van de MethodBase klasse beschikbaar voor onbeheerde code.

_MethodBuilder

Hiermee wordt de MethodBuilder klasse beschikbaar gesteld aan onbeheerde code.

_MethodInfo

Stelt de openbare leden van de MethodInfo klasse beschikbaar voor onbeheerde code.

_MethodRental

Hiermee wordt de MethodRental klasse beschikbaar gesteld aan onbeheerde code.

_Module

Hiermee wordt de Module klasse beschikbaar gesteld aan onbeheerde code.

_ModuleBuilder

Hiermee wordt de ModuleBuilder klasse beschikbaar gesteld aan onbeheerde code.

_ParameterBuilder

Hiermee wordt de ParameterBuilder klasse beschikbaar gesteld aan onbeheerde code.

_ParameterInfo

Hiermee wordt de ParameterInfo klasse beschikbaar gesteld aan onbeheerde code.

_PropertyBuilder

Hiermee wordt de PropertyBuilder klasse beschikbaar gesteld aan onbeheerde code.

_PropertyInfo

Stelt de openbare leden van de PropertyInfo klasse beschikbaar voor onbeheerde code.

_SignatureHelper

Hiermee wordt de SignatureHelper klasse beschikbaar gesteld aan onbeheerde code.

_Thread

Hiermee wordt de Thread klasse beschikbaar gesteld aan onbeheerde code.

_Type

Stelt de openbare leden van de Type klasse beschikbaar voor de niet-beheerde code.

_TypeBuilder

Hiermee wordt de TypeBuilder klasse beschikbaar gesteld aan onbeheerde code.

ICustomAdapter

Biedt een manier voor clients om toegang te krijgen tot het werkelijke object, in plaats van het adapterobject dat door een aangepaste marshaler wordt uitgedeeld.

ICustomFactory

Hiermee kunnen gebruikers activeringscode schrijven voor beheerde objecten die worden uitgebreid MarshalByRefObject.

ICustomMarshaler

Biedt aangepaste wrappers voor het verwerken van methode-aanroepen.

ICustomQueryInterface

Hiermee kunnen ontwikkelaars een aangepaste, beheerde implementatie van de methode IUnknown::QueryInterface(REFIID riid, void **ppvObject) bieden.

IRegistrationServices

Biedt een set services voor het registreren en ongedaan maken van de registratie van beheerde assembly's voor gebruik vanuit COM.

ITypeLibConverter

Biedt een set services waarmee een beheerde assembly wordt geconverteerd naar een COM-typebibliotheek en omgekeerd.

ITypeLibExporterNameProvider

Biedt controle over de behuizing van namen wanneer deze worden geëxporteerd naar een typebibliotheek.

ITypeLibExporterNotifySink

Biedt een callback-mechanisme voor het assemblyconversieprogramma om de beller op de hoogte te stellen van de status van de conversie en de beller in het conversieproces zelf te betrekken.

ITypeLibImporterNotifySink

Biedt een callback-mechanisme voor het type bibliotheekconversieprogramma om de beller op de hoogte te stellen van de status van de conversie en de beller in het conversieproces zelf te betrekken.

UCOMIBindCtx

Gebruik in plaats daarvan BIND_OPTS.

UCOMIConnectionPoint

Gebruik in plaats daarvan IConnectionPoint.

UCOMIConnectionPointContainer

Gebruik in plaats daarvan IConnectionPointContainer.

UCOMIEnumConnectionPoints

Gebruik in plaats daarvan IEnumConnectionPoints.

UCOMIEnumConnections

Gebruik in plaats daarvan IEnumConnections.

UCOMIEnumMoniker

Gebruik in plaats daarvan IEnumMoniker.

UCOMIEnumString

Gebruik in plaats daarvan IEnumString.

UCOMIEnumVARIANT

Gebruik in plaats daarvan IEnumVARIANT.

UCOMIMoniker

Gebruik in plaats daarvan IMoniker.

UCOMIPersistFile

Gebruik in plaats daarvan IPersistFile.

UCOMIRunningObjectTable

Gebruik in plaats daarvan IRunningObjectTable.

UCOMIStream

Gebruik in plaats daarvan IStream.

UCOMITypeComp

Gebruik in plaats daarvan ITypeComp.

UCOMITypeInfo

Gebruik in plaats daarvan ITypeInfo.

UCOMITypeLib

Gebruik in plaats daarvan ITypeLib.

Enums

Name Description
Architecture

Geeft de processorarchitectuur aan.

AssemblyRegistrationFlags

Definieert een set vlaggen die worden gebruikt bij het registreren van assembly's.

CALLCONV

Gebruik in plaats daarvan CALLCONV.

CallingConvention

Hiermee geeft u de aanroepconventie op die is vereist voor het aanroepen van methoden die zijn geïmplementeerd in niet-beheerde code.

CharSet

Hiermee bepaalt u welke tekenreeksen met marshaled tekenreeksen moeten worden gebruikt.

ClassInterfaceType

Identificeert het type klasse-interface dat wordt gegenereerd voor een klasse.

ComInterfaceType

Hiermee wordt aangegeven hoe u een interface beschikbaar maakt voor COM.

ComMemberType

Beschrijft het type COM-lid.

CustomQueryInterfaceMode

Geeft aan of de IUnknown::QueryInterface-aanroepen van de GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) methode de ICustomQueryInterface interface kunnen gebruiken.

CustomQueryInterfaceResult

Retourwaarden voor de GetInterface(Guid, IntPtr) methode.

DESCKIND

Gebruik in plaats daarvan DESCKIND.

DllImportSearchPath

Hiermee geeft u de paden op die worden gebruikt voor het zoeken naar DLL's die functies bieden voor platform-aanroepen.

ExporterEventKind

Beschrijft de callbacks die de typebibliotheekexporteur maakt bij het exporteren van een typebibliotheek.

FUNCFLAGS

Gebruik in plaats daarvan FUNCFLAGS.

FUNCKIND

Gebruik in plaats daarvan FUNCKIND.

GCHandleType

Vertegenwoordigt de typen ingangen die het GCHandle type kan toewijzen.

IDispatchImplType

Geeft aan welke IDispatch implementatie moet worden gebruikt voor een bepaalde klasse.

IDLFLAG

Gebruik in plaats daarvan IDLFLAG.

IMPLTYPEFLAGS

Gebruik in plaats daarvan IMPLTYPEFLAGS.

ImporterEventKind

Beschrijft de callbacks die de importfunctie voor de typebibliotheek maakt bij het importeren van een typebibliotheek.

INVOKEKIND

Gebruik in plaats daarvan INVOKEKIND.

LayoutKind

Hiermee bepaalt u de indeling van een object wanneer het wordt geëxporteerd naar onbeheerde code.

LIBFLAGS

Gebruik in plaats daarvan LIBFLAGS.

PARAMFLAG

Gebruik in plaats daarvan PARAMFLAG.

RegistrationClassContext

Hiermee geeft u de set uitvoeringscontexten op waarin een klasseobject beschikbaar wordt gesteld voor aanvragen voor het maken van exemplaren.

RegistrationConnectionType

Hiermee definieert u de typen verbindingen met een klasseobject.

SYSKIND

Gebruik in plaats daarvan SYSKIND.

TYPEFLAGS

Gebruik in plaats daarvan TYPEFLAGS.

TYPEKIND

Gebruik in plaats daarvan TYPEKIND.

TypeLibExporterFlags

Geeft aan hoe een typebibliotheek moet worden geproduceerd.

TypeLibFuncFlags

Beschrijft de oorspronkelijke instellingen van de FUNCFLAGS COM-typebibliotheek van waaruit deze methode is geïmporteerd.

TypeLibImporterFlags

Geeft aan hoe een assembly moet worden geproduceerd.

TypeLibTypeFlags

Beschrijft de oorspronkelijke instellingen van de TYPEFLAGS COM-typebibliotheek waaruit het type is geïmporteerd.

TypeLibVarFlags

Beschrijft de oorspronkelijke instellingen van de VARFLAGS COM-typebibliotheek waaruit de variabele is geïmporteerd.

UnmanagedType

Hiermee wordt aangegeven hoe u marshalparameters of velden kunt gebruiken voor onbeheerde code.

VarEnum

Geeft aan hoe u de matrixelementen kunt marshalen wanneer een matrix wordt marshaled van beheerd naar onbeheerde code als een SafeArray.

VARFLAGS

Gebruik in plaats daarvan VARFLAGS.

Gedelegeerden

Name Description
ObjectCreationDelegate

Hiermee maakt u een COM-object.

Opmerkingen

Leden van deze naamruimte bieden verschillende functionaliteitscategorieën, zoals wordt weergegeven in de volgende tabel. Kenmerken bepalen het marshaling-gedrag, zoals het rangschikken van structuren of het weergeven van tekenreeksen. De belangrijkste kenmerken zijn DllImportAttribute, die u gebruikt voor het definiëren van methoden voor het aanroepen van platformen voor toegang tot niet-beheerde API's en MarshalAsAttribute, die u gebruikt om op te geven hoe gegevens worden marshaled tussen beheerd en onbeheerd geheugen.