Sdílet prostřednictvím


System.Runtime.InteropServices Obor názvů

Poskytuje širokou škálu členů, kteří podporují volat služby zprostředkovatele komunikace a platformy MODELU COM. Pokud tyto služby neznáte, přečtěte si téma Spolupráce snespravovaného kódu .

Třídy

AllowReversePInvokeCallsAttribute

Umožňuje nespravovanou metodu volat spravovanou metodu.

AutomationProxyAttribute

Určuje, jestli se má typ zařašovat pomocí zařazování služby Automation nebo vlastního proxy serveru a zástupných procedur.

BestFitMappingAttribute

Určuje, zda jsou znaky Unicode převedeny na nejbližší odpovídající znaky ANSI.

BStrWrapper

Zařazuje data typu VT_BSTR ze spravovaného do nespravovaného kódu. Tuto třídu nelze zdědit.

ClassInterfaceAttribute

Určuje typ rozhraní třídy, které se má vygenerovat pro třídu vystavenou modelu COM, pokud je rozhraní vygenerováno vůbec.

CoClassAttribute

Určuje identifikátor třídy třídy třídy importované z knihovny typů.

CollectionsMarshal

Nebezpečná třída, která poskytuje sadu metod pro přístup k podkladovým datovým reprezentacem kolekcí.

ComAliasNameAttribute

Označuje alias modelu COM pro parametr nebo typ pole.

ComAwareEventInfo

Povoluje opožděnou registraci obslužné rutiny události.

ComCompatibleVersionAttribute

Označuje klienta modelu COM, že všechny třídy v aktuální verzi sestavení jsou kompatibilní s třídami v dřívější verzi sestavení.

ComConversionLossAttribute

Označuje, že při importu z knihovny typů do sestavení došlo ke ztrátě informací o třídě nebo rozhraní.

ComDefaultInterfaceAttribute

Určuje výchozí rozhraní, které má být vystaveno modelu COM. Tuto třídu nelze zdědit.

ComEventInterfaceAttribute

Identifikuje zdrojové rozhraní a třídu, která implementuje metody rozhraní událostí, které je generováno při importu třídy coclass z knihovny typů modelu COM.

ComEventsHelper

Poskytuje metody, které umožňují delegátům rozhraní .NET, které zpracovávají události, které se mají přidávat a odebírat z objektů modelu COM.

COMException

Výjimka, která je vyvolána při nerozpoznané HRESULT je vrácena z volání metody COM.

ComImportAttribute

Označuje, že atributovaný typ byl dříve definován v modelu COM.

ComRegisterFunctionAttribute

Určuje metodu, která se má volat při registraci sestavení pro použití z modelu COM; to umožňuje provádění uživatelem psaného kódu během procesu registrace.

ComSourceInterfacesAttribute

Identifikuje seznam rozhraní, která jsou vystavena jako zdroje událostí modelu COM pro přiřazenou třídu.

ComUnregisterFunctionAttribute

Určuje metodu, která se má volat při zrušení registrace sestavení pro použití z modelu COM; to umožňuje provádění uživatelem psaného kódu během procesu zrušení registrace.

ComVisibleAttribute

Řídí přístupnost jednotlivých spravovaných typů nebo členů nebo všech typů v rámci sestavení do modelu COM.

ComWrappers

Třída pro správu obálky typů MODELU COM IUnknown.

CriticalHandle

Představuje obálkovou třídu pro zpracování prostředků.

CurrencyWrapper

Zalamuje objekty, které by zařazovač měl zařašovat jako VT_CY.

DefaultCharSetAttribute

Určuje hodnotu CharSet výčtu. Tuto třídu nelze zdědit.

DefaultDllImportSearchPathsAttribute

Určuje cesty, které se používají k vyhledávání knihoven DLL, které poskytují funkce pro vyvolání platformy.

DefaultParameterValueAttribute

Nastaví výchozí hodnotu parametru při zavolání z jazyka, který podporuje výchozí parametry. Tuto třídu nelze zdědit.

DispatchWrapper

Zalamuje objekty, které by zařazovač měl zařašovat jako VT_DISPATCH.

DispIdAttribute

Určuje identifikátor odeslání modelu COM (DISPID) metody, pole nebo vlastnosti.

DllImportAttribute

Označuje, že atributovaná metoda je vystavena nespravovanou dynamickou knihovnou (DLL) jako statický vstupní bod.

DynamicInterfaceCastableImplementationAttribute

Atribut vyžadovaný libovolným typem vráceným GetInterfaceImplementation(RuntimeTypeHandle).

ErrorWrapper

Zalamuje objekty, které by zařazovač měl zařašovat jako VT_ERROR.

ExtensibleClassFactory

Umožňuje přizpůsobení spravovaných objektů, které během vytváření rozšiřují nespravované objekty.

ExternalException

Základní typ výjimky pro všechny výjimky zprostředkovatele komunikace modelu COM a strukturované zpracování výjimek (SEH).

FieldOffsetAttribute

Určuje fyzickou pozici polí v nespravované reprezentaci třídy nebo struktury.

GuidAttribute

Poskytuje explicitní Guid, pokud je automatický identifikátor GUID nežádoucí.

HandleCollector

Sleduje vynikající popisovače a vynutí uvolňování paměti při dosažení zadané prahové hodnoty.

IDispatchImplAttribute

Určuje, který IDispatch implementaci modulu CLR (Common Language Runtime) používá při zveřejnění duálních rozhraní a dispinterfaces modelu COM.

ImmutableCollectionsMarshal

Nebezpečná třída, která poskytuje sadu metod pro přístup k podkladovým datovým reprezentacem neměnných kolekcí.

ImportedFromTypeLibAttribute

Označuje, že typy definované v rámci sestavení byly původně definovány v knihovně typů.

InAttribute

Označuje, že data by měla být zařazována z volajícího do volaného, ale ne zpět volajícímu.

InterfaceTypeAttribute

Označuje, zda je spravované rozhraní duální, dispečerské nebo IUnknown -only, pokud je vystaveno modelu COM.

InvalidComObjectException

Výjimka vyvolaná při použití neplatného objektu COM.

InvalidOleVariantTypeException

Výjimka vyvolaná zařazováním, když narazí na argument typu varianty, který nelze zařaďte do spravovaného kódu.

LCIDConversionAttribute

Označuje, že nespravovaný podpis metody očekává parametr identifikátoru národního prostředí (LCID).

LibraryImportAttribute

Označuje, že generátor zdroje by měl vytvořit funkci pro zařazování argumentů místo toho, aby modul runtime generoval ekvivalentní zařazovací funkci za běhu.

ManagedToNativeComInteropStubAttribute

Poskytuje podporu pro přizpůsobení uživatelských zástupných procedur ve scénářích spolupráce mezi spravovanými objekty COM.

Marshal

Poskytuje kolekci metod pro přidělování nespravované paměti, kopírování nespravovaných bloků paměti a převod spravovaných na nespravované typy a také další různé metody používané při interakci s nespravovaným kódem.

MarshalAsAttribute

Označuje, jak zařazení dat mezi spravovaným a nespravovaným kódem.

MarshalDirectiveException

Výjimka, kterou vyvolá zařazovač, když narazí na MarshalAsAttribute nepodporuje.

MemoryMarshal

Poskytuje metody pro spolupráci s Memory<T>, ReadOnlyMemory<T>, Span<T>a ReadOnlySpan<T>.

NativeLibrary

Poskytuje rozhraní API pro správu nativních knihoven.

NativeMemory

Tato třída obsahuje metody, které se používají hlavně ke správě nativní paměti.

OptionalAttribute

Označuje, že parametr je volitelný.

OutAttribute

Označuje, že data by měla být zařazována z volaného zpět volajícímu.

PosixSignalContext

Poskytuje data pro PosixSignalRegistration událost.

PosixSignalRegistration

Zpracovává PosixSignal.

PreserveSigAttribute

Označuje, že transformace podpisu HRESULT, která probíhá během volání zprostředkovatele komunikace com, by měla být potlačena.

PrimaryInteropAssemblyAttribute

Označuje, že přiřazené sestavení je primární sestavení vzájemné spolupráce.

ProgIdAttribute

Umožňuje uživateli zadat ProgID třídy.

RegistrationServices

Poskytuje sadu služeb pro registraci a zrušení registrace spravovaných sestavení pro použití z modelu COM.

RuntimeEnvironment

Poskytuje kolekci static metod, které vracejí informace o prostředí Common Language Runtime.

RuntimeInformation

Poskytuje informace o instalaci modulu runtime .NET.

SafeArrayRankMismatchException

Výjimka vyvolaná v případech, kdy pořadí příchozích SAFEARRAY neodpovídá pořadí zadanému ve spravovaném podpisu.

SafeArrayTypeMismatchException

Výjimka vyvolaná v případech, kdy typ příchozí SAFEARRAY neodpovídá typu zadanému ve spravovaném podpisu.

SafeBuffer

Poskytuje řízenou paměťovou paměť, kterou lze použít ke čtení a zápisu. Pokusy o přístup k paměti mimo řízenou vyrovnávací paměť (podtečení a přetečení) vyvolávají výjimky.

SafeHandle

Představuje obálkovou třídu pro popisovače operačního systému. Tato třída musí být zděděna.

SEHException

Představuje chyby strukturovaného zpracování výjimek (SEH).

SequenceMarshal

Poskytuje kolekci metod pro spolupráci s ReadOnlySequence<T>.

SetWin32ContextInIDispatchAttribute

Tento atribut je zastaralý.

StandardOleMarshalObject

Nahradí standardní modul CLR (Common Language Runtime) bez vláken zařazovač se standardním zařazovačem OLE STA.

StructLayoutAttribute

Umožňuje řídit fyzické rozložení datových polí třídy nebo struktury v paměti.

SuppressGCTransitionAttribute

Označuje, že při volání nespravované funkce by se měl přeskočit přechod uvolňování paměti.

TypeIdentifierAttribute

Poskytuje podporu pro ekvivalenci typů.

TypeLibConverter

Poskytuje sadu služeb, které převádějí spravované sestavení na knihovnu typů modelu COM a naopak.

TypeLibFuncAttribute

Obsahuje FUNCFLAGS, které byly původně importovány pro tuto metodu z knihovny typů modelu COM.

TypeLibImportClassAttribute

Určuje, který Type výhradně používá rozhraní. Tuto třídu nelze zdědit.

TypeLibTypeAttribute

Obsahuje TYPEFLAGS, které byly původně importovány pro tento typ z knihovny typů modelu COM.

TypeLibVarAttribute

Obsahuje VARFLAGS, které byly původně importovány pro toto pole z knihovny typů modelu COM.

TypeLibVersionAttribute

Určuje číslo verze exportované knihovny typů.

UnknownWrapper

Zalamuje objekty, které by zařazovač měl zařašovat jako VT_UNKNOWN.

UnmanagedCallConvAttribute

Určuje konvenci volání vyžadovanou pro volání metod P/Invoke implementovaných v nespravovaném kódu.

UnmanagedCallersOnlyAttribute

Libovolnou metodu označenou UnmanagedCallersOnlyAttribute lze volat přímo z nativního kódu. Token funkce lze načíst do místní proměnné pomocí operátoru adresy v jazyce C# a předat ho jako zpětné volání nativní metodě.

UnmanagedFunctionPointerAttribute

Řídí chování zařazování podpisu delegáta předaného jako nespravovaný ukazatel na nebo z nespravovaného kódu. Tuto třídu nelze zdědit.

VariantWrapper

Zařazuje data typu VT_VARIANT | VT_BYREF ze spravovaného do nespravovaného kódu. Tuto třídu nelze zdědit.

WasmImportLinkageAttribute

Určuje, že volání nespravovaného kódu označené tímto atributem by mělo být propojeno jako import WASM.

Struktury

ArrayWithOffset

Zapouzdřuje matici a posun v zadaném poli.

BIND_OPTS

Místo toho použijte BIND_OPTS.

BINDPTR

Místo toho použijte BINDPTR.

CLong

CLong je neměnný typ hodnoty, který představuje typ long v jazyce C a C++. Slouží jako typ výměny na spravované nebo nespravované hranici, aby přesně představovala v nespravovaných rozhraních API spravovaného kódu, která používají typ long. Tento typ má 32bitové úložiště na všech platformách Windows a na 32bitových platformách unix. Má 64bitové úložiště na 64bitových platformách Unix.

ComWrappers.ComInterfaceDispatch

Binární rozhraní aplikace pro odeslání funkce rozhraní MODELU COM.

ComWrappers.ComInterfaceEntry

Typ rozhraní a ukazatel na cílovou tabulku VTable.

CONNECTDATA

Místo toho použijte CONNECTDATA.

CULong

CULong je neměnný typ hodnoty, který představuje typ unsigned long v jazyce C a C++. Slouží jako typ výměny na spravované nebo nespravované hranici, aby přesně představovala v nespravovaných rozhraních API spravovaného kódu, která používají typ unsigned long. Tento typ má 32bitové úložiště na všech platformách Windows a na 32bitových platformách unix. Má 64bitové úložiště na 64bitových platformách Unix.

DISPPARAMS

Místo toho použijte DISPPARAMS.

ELEMDESC

Místo toho použijte ELEMDESC.

ELEMDESC.DESCUNION

Místo toho použijte ELEMDESC.DESCUNION.

EXCEPINFO

Místo toho použijte EXCEPINFO.

FILETIME

Místo toho použijte FILETIME.

FUNCDESC

Místo toho použijte FUNCDESC.

GCHandle

Poskytuje způsob, jak získat přístup ke spravovanému objektu z nespravované paměti.

HandleRef

Zabalí spravovaný objekt s popisovačem prostředku, který se předává nespravovanému kódu pomocí volání platformy.

IDLDESC

Místo toho použijte IDLDESC.

NFloat

NFloat je neměnný typ hodnoty, který představuje plovoucí typ, který má stejnou velikost jako nativní celočíselná velikost. Je určená jako typ výměny na spravované nebo nespravované hranici, aby přesně představovala v nespravovaných rozhraních API spravovaného kódu, která používají alias typu pro float C nebo C++ na 32bitových platformách nebo double na 64bitových platformách, jako je typ CGFloat v knihovnách poskytovaných Společností Apple.

OSPlatform

Představuje platformu operačního systému.

PARAMDESC

Místo toho použijte PARAMDESC.

STATSTG

Místo toho použijte STATSTG.

TYPEATTR

Místo toho použijte TYPEATTR.

TYPEDESC

Místo toho použijte TYPEDESC.

TYPELIBATTR

Místo toho použijte TYPELIBATTR.

VARDESC

Místo toho použijte VARDESC.

VARDESC.DESCUNION

Místo toho použijte VARDESC.DESCUNION.

Rozhraní

_Activator

Zveřejňuje třídu Activator nespravovanému kódu.

_Assembly

Zveřejňuje veřejné členy třídy Assembly nespravovaný kód.

_AssemblyBuilder

Zveřejňuje třídu AssemblyBuilder nespravovanému kódu.

_AssemblyName

Zveřejňuje třídu AssemblyName nespravovanému kódu.

_Attribute

Zveřejňuje třídu Attribute nespravovanému kódu.

_ConstructorBuilder

Zveřejňuje třídu ConstructorBuilder nespravovanému kódu.

_ConstructorInfo

Zveřejňuje veřejné členy třídy ConstructorInfo nespravovaný kód.

_CustomAttributeBuilder

Zveřejňuje třídu CustomAttributeBuilder nespravovanému kódu.

_EnumBuilder

Zveřejňuje třídu EnumBuilder nespravovanému kódu.

_EventBuilder

Zveřejňuje třídu EventBuilder nespravovanému kódu.

_EventInfo

Zveřejňuje veřejné členy třídy EventInfo nespravovaný kód.

_Exception

Zveřejňuje veřejné členy třídy Exception nespravovaný kód.

_FieldBuilder

Zveřejňuje třídu FieldBuilder nespravovanému kódu.

_FieldInfo

Zveřejňuje veřejné členy třídy FieldInfo nespravovaný kód.

_ILGenerator

Zveřejňuje třídu ILGenerator nespravovanému kódu.

_LocalBuilder

Zveřejňuje třídu LocalBuilder nespravovanému kódu.

_MemberInfo

Zveřejňuje veřejné členy třídy MemberInfo nespravovaný kód.

_MethodBase

Zveřejňuje veřejné členy třídy MethodBase nespravovaný kód.

_MethodBuilder

Zveřejňuje třídu MethodBuilder nespravovanému kódu.

_MethodInfo

Zveřejňuje veřejné členy třídy MethodInfo nespravovaný kód.

_MethodRental

Zveřejňuje třídu MethodRental nespravovanému kódu.

_Module

Zveřejňuje třídu Module nespravovanému kódu.

_ModuleBuilder

Zveřejňuje třídu ModuleBuilder nespravovanému kódu.

_ParameterBuilder

Zveřejňuje třídu ParameterBuilder nespravovanému kódu.

_ParameterInfo

Zveřejňuje třídu ParameterInfo nespravovanému kódu.

_PropertyBuilder

Zveřejňuje třídu PropertyBuilder nespravovanému kódu.

_PropertyInfo

Zveřejňuje veřejné členy třídy PropertyInfo nespravovaný kód.

_SignatureHelper

Zveřejňuje třídu SignatureHelper nespravovanému kódu.

_Thread

Zveřejňuje třídu Thread nespravovanému kódu.

_Type

Zveřejňuje veřejné členy třídy Type nespravovanému kódu.

_TypeBuilder

Zveřejňuje třídu TypeBuilder nespravovanému kódu.

ICustomAdapter

Poskytuje klientům přístup k skutečnému objektu, nikoli k objektu adaptéru předávaným vlastním zařazováním.

ICustomFactory

Umožňuje uživatelům psát aktivační kód pro spravované objekty, které rozšiřují MarshalByRefObject.

ICustomMarshaler

Poskytuje vlastní obálky pro zpracování volání metod.

ICustomQueryInterface

Umožňuje vývojářům poskytovat vlastní spravovanou implementaci IUnknown::QueryInterface(REFIID riid, void **ppvObject) metody.

IDynamicInterfaceCastable

Rozhraní používané k účasti v selhání přetypování typu.

IRegistrationServices

Poskytuje sadu služeb pro registraci a zrušení registrace spravovaných sestavení pro použití z modelu COM.

ITypeLibConverter

Poskytuje sadu služeb, které převádějí spravované sestavení na knihovnu typů modelu COM a naopak.

ITypeLibExporterNameProvider

Poskytuje kontrolu nad velikostí písmen názvů při exportu do knihovny typů.

ITypeLibExporterNotifySink

Poskytuje mechanismus zpětného volání převaděče sestavení, který informuje volajícího o stavu převodu a zahrnuje volajícího v samotném procesu převodu.

ITypeLibImporterNotifySink

Poskytuje mechanismus zpětného volání pro převaděč knihovny typů, který informuje volajícího o stavu převodu a zahrnuje volajícího v samotném procesu převodu.

UCOMIBindCtx

Místo toho použijte BIND_OPTS.

UCOMIConnectionPoint

Místo toho použijte IConnectionPoint.

UCOMIConnectionPointContainer

Místo toho použijte IConnectionPointContainer.

UCOMIEnumConnectionPoints

Místo toho použijte IEnumConnectionPoints.

UCOMIEnumConnections

Místo toho použijte IEnumConnections.

UCOMIEnumMoniker

Místo toho použijte IEnumMoniker.

UCOMIEnumString

Místo toho použijte IEnumString.

UCOMIEnumVARIANT

Místo toho použijte IEnumVARIANT.

UCOMIMoniker

Místo toho použijte IMoniker.

UCOMIPersistFile

Místo toho použijte IPersistFile.

UCOMIRunningObjectTable

Místo toho použijte IRunningObjectTable.

UCOMIStream

Místo toho použijte IStream.

UCOMITypeComp

Místo toho použijte ITypeComp.

UCOMITypeInfo

Místo toho použijte ITypeInfo.

UCOMITypeLib

Místo toho použijte ITypeLib.

Výčty

Architecture

Označuje architekturu procesoru.

AssemblyRegistrationFlags

Definuje sadu příznaků použitých při registraci sestavení.

CALLCONV

Místo toho použijte CALLCONV.

CallingConvention

Určuje konvenci volání vyžadovanou pro volání metod implementovaných v nespravovaném kódu.

CharSet

Určuje, která znaková sada má používat zařazované řetězce.

ClassInterfaceType

Identifikuje typ rozhraní třídy, které je generováno pro třídu.

ComInterfaceType

Určuje, jak vystavit rozhraní modelu COM.

ComMemberType

Popisuje typ člena modelu COM.

CreateComInterfaceFlags

Určuje příznaky pro metodu GetOrCreateComInterfaceForObject(Object, CreateComInterfaceFlags).

CreateObjectFlags

Určuje příznaky pro metodu GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags).

CustomQueryInterfaceMode

Určuje, zda volání GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) metody IUnknown::QueryInterface můžou používat rozhraní ICustomQueryInterface.

CustomQueryInterfaceResult

Poskytuje návratové hodnoty pro metodu GetInterface(Guid, IntPtr).

DESCKIND

Místo toho použijte DESCKIND.

DllImportSearchPath

Určuje cesty, které se používají k vyhledávání knihoven DLL, které poskytují funkce pro vyvolání platformy.

ExporterEventKind

Popisuje zpětná volání, která vývozce knihovny typů provádí při exportu knihovny typů.

FUNCFLAGS

Místo toho použijte FUNCFLAGS.

FUNCKIND

Místo toho použijte FUNCKIND.

GCHandleType

Představuje typy popisovačů, které typ GCHandle může přidělit.

IDispatchImplType

Určuje, kterou IDispatch implementaci použít pro určitou třídu.

IDLFLAG

Místo toho použijte IDLFLAG.

IMPLTYPEFLAGS

Místo toho použijte IMPLTYPEFLAGS.

ImporterEventKind

Popisuje zpětná volání, která importuje import knihovny typů při importu knihovny typů.

INVOKEKIND

Místo toho použijte INVOKEKIND.

LayoutKind

Řídí rozložení objektu při exportu do nespravovaného kódu.

LIBFLAGS

Místo toho použijte LIBFLAGS.

PARAMFLAG

Místo toho použijte PARAMFLAG.

PosixSignal

Určuje číslo signálu POSIX.

RegistrationClassContext

Určuje sadu kontextů spuštění, ve kterých bude objekt třídy zpřístupněn pro požadavky na sestavení instancí.

RegistrationConnectionType

Definuje typy připojení k objektu třídy.

StringMarshalling

Určuje, jak mají být řetězce zařazovány pro vygenerované volání p/invoke.

SYSKIND

Místo toho použijte SYSKIND.

TYPEFLAGS

Místo toho použijte TYPEFLAGS.

TYPEKIND

Místo toho použijte TYPEKIND.

TypeLibExporterFlags

Určuje, jak se má vytvořit knihovna typů.

TypeLibFuncFlags

Popisuje původní nastavení FUNCFLAGS v knihovně typů modelu COM, ze které byla tato metoda importována.

TypeLibImporterFlags

Určuje, jak se má vytvořit sestavení.

TypeLibTypeFlags

Popisuje původní nastavení TYPEFLAGS v knihovně typů modelu COM, ze které byl typ importován.

TypeLibVarFlags

Popisuje původní nastavení VARFLAGS v knihovně typů modelu COM, ze které byla proměnná importována.

UnmanagedType

Identifikuje způsob zařazování parametrů nebo polí do nespravovaného kódu.

VarEnum

Označuje, jak zařadí prvky pole, když je pole zařazeno ze spravovaného na nespravovaný kód jako SafeArray.

VARFLAGS

Místo toho použijte VARFLAGS.

Delegáti

DllImportResolver

Poskytuje delegáta sloužícího k překladu nativních knihoven prostřednictvím zpětného volání.

ObjectCreationDelegate

Vytvoří objekt COM.

Poznámky

Členové tohoto oboru názvů poskytují několik kategorií funkcí, jak je znázorněno v následující tabulce. Atributy řídí chování zařazování, například jak uspořádat struktury nebo jak znázorňovat řetězce. Nejdůležitější atributy jsou DllImportAttribute, které slouží k definování metod volání platformy pro přístup k nespravovaným rozhraním API a MarshalAsAttribute, které slouží k určení způsobu zařazování dat mezi spravovanou a nespravovanou pamětí.