System.Runtime.InteropServices Obor názvů

Poskytuje širokou škálu členů, kteří podporují služby volání platforem a interop modelu COM. Pokud tyto služby neznáte, projděte si téma Spolupráce s nespravovaným kódem.

Třídy

AllowReversePInvokeCallsAttribute

Umožňuje nespravované metodě volat spravovanou metodu.

AutomationProxyAttribute

Určuje, jestli má být typ zařazován pomocí zařazování služby Automation nebo vlastního proxy serveru a zástupné procedury.

BestFitMappingAttribute

Určuje, jestli se znaky Unicode převedou na nejbližší odpovídající znaky ANSI.

BStrWrapper

Zařadí data typu VT_BSTR ze spravovaného na nespravovaný kód. Tato třída se nemůže dědit.

ClassInterfaceAttribute

Označ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 coclass 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 pozdní registraci obslužné rutiny události.

ComCompatibleVersionAttribute

Označuje pro klienta 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 informace o třídě nebo rozhraní byly ztraceny při importu z knihovny typů do sestavení.

ComDefaultInterfaceAttribute

Určuje výchozí rozhraní, které má být vystaveno modelu COM. Tato třída se nemůže dědit.

ComEventInterfaceAttribute

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

ComEventsHelper

Poskytuje metody, které umožňují delegátům .NET, které zpracovávají události, které mají být přidány a odebrány z objektů COM.

COMException

Výjimka, která je vyvolána, když se z volání metody COM vrátí nerozpoznaný HRESULT.

ComImportAttribute

Označuje, že atribut typu byl dříve definován v modelu COM.

ComRegisterFunctionAttribute

Určuje metodu volání při registraci sestavení pro použití z com; to umožňuje spuštění kódu napsaného uživatelem během procesu registrace.

ComSourceInterfacesAttribute

Identifikuje seznam rozhraní, které jsou zpřístupněny jako zdroje událostí modelu COM pro atribut třídy.

ComUnregisterFunctionAttribute

Určuje metodu volání při zrušení registrace sestavení pro použití z com; to umožňuje spuště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ů COM IUnknown.

CriticalHandle

Představuje třídu obálky pro prostředky popisovače.

CurrencyWrapper

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

DefaultCharSetAttribute

Určuje hodnotu výčtu CharSet . Tato třída se nemůže dědit.

DefaultDllImportSearchPathsAttribute

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

DefaultParameterValueAttribute

Nastaví výchozí hodnotu parametru při zavolání z jazyka, který podporuje výchozí parametry. Tato třída se nemůže dědit.

DispatchWrapper

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

DispIdAttribute

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

DllImportAttribute

Označuje, že atribut metoda je zpřístupněna nespravovanou dynamickou knihovnou (DLL) jako statický vstupní bod.

DynamicInterfaceCastableImplementationAttribute

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

ErrorWrapper

Zabalí objekty, které by měl zařadovat jako VT_ERROR.

ExtensibleClassFactory

Umožňuje přizpůsobení spravovaných objektů, které během vytváření přesahují z nespravovaných objektů.

ExternalException

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

FieldOffsetAttribute

Označuje fyzické umístění polí v rámci nespravované reprezentace třídy nebo struktury.

GuidAttribute

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

HandleCollector

Sleduje zbývající popisovače a při dosažení zadané prahové hodnoty vynutí uvolnění paměti.

IDispatchImplAttribute

Určuje, jakou IDispatch implementaci používá modul CLR (Common Language Runtime) při vystavení 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 k volajícímu.

InterfaceTypeAttribute

Určuje, zda spravované rozhraní je duální, pouze pro odesílání nebo IUnknown -pouze při vystavení modelu COM.

InvalidComObjectException

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

InvalidOleVariantTypeException

Výjimka vyvolá zařazovač, když narazí na argument typu variant, který nelze zařaďovat 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 vygeneroval ekvivalentní zařaďovací funkci za běhu.

ManagedToNativeComInteropStubAttribute

Poskytuje podporu pro uživatelské přizpůsobení zástupných procedur zprostředkovatele komunikace ve scénářích komunikace spravovaných na 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, stejně jako další různé metody používané při interakci s nespravovaným kódem.

MarshalAsAttribute

Určuje, jak zařakovat data mezi spravovaným a nespravovaným kódem.

MarshalDirectiveException

Výjimka vyvolaná zařazovačem, když narazí na MarshalAsAttribute nepodpořenou výjimku.

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 na volajícího.

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 sestavení s atributem je primární sestavení zprostředkovatele komunikace.

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é vrací informace o prostředí Common Language Runtime.

RuntimeInformation

Poskytuje informace o instalaci modulu runtime .NET.

SafeArrayRankMismatchException

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

SafeArrayTypeMismatchException

Výjimka vyvolá, když typ příchozího SAFEARRAY zařízení neodpovídá typu zadanému ve spravovaném podpisu.

SafeBuffer

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

SafeHandle

Představuje třídu obálky 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>nástrojem .

SetWin32ContextInIDispatchAttribute

Tento atribut je zastaralý.

StandardOleMarshalObject

Nahrazuje zařazovač free-threaded standard Common Language Runtime (CLR) 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 měl být přechod uvolňování paměti vynechán.

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 objekty FUNCFLAGS , které byly původně importovány pro tuto metodu z knihovny typů modelu COM.

TypeLibImportClassAttribute

Určuje, které Type rozhraní se používá výhradně. Tato třída se nemůže dědit.

TypeLibTypeAttribute

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

TypeLibVarAttribute

Obsahuje objekty 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 měl zařašovač zařadovat 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 pomocí UnmanagedCallersOnlyAttribute lze volat přímo z nativního kódu. Token funkce je možné načíst do místní proměnné pomocí operátoru address-of 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 ukazatel nespravované funkce na nespravovaný kód nebo z nespravovaného kódu. Tato třída se nemůže dědit.

VariantWrapper

Zařadí data typu VT_VARIANT | VT_BYREF ze spravovaného na nespravovaný kód. Tato třída se nemůže dědit.

WasmImportLinkageAttribute

Poskytuje širokou škálu členů, kteří podporují služby volání platforem a interop modelu COM. Pokud tyto služby neznáte, projděte si téma Spolupráce s nespravovaným kódem.

Struktury

ArrayWithOffset

Zapouzdří pole 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 long typ v C a C++. Má se použít jako typ výměny na hranici spravované/nespravované, aby přesně představoval ve spravovaném kódu nespravovaná rozhraní API, která tento typ používají long . Tento typ má 32bitové úložiště na všech platformách Windows a 32bitových unixových platformách. Má 64bitové úložiště na 64bitových platformách Unix.

ComWrappers.ComInterfaceDispatch

Binární rozhraní aplikace pro odeslání funkce rozhraní 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 unsigned long typ v C a C++. Má se použít jako typ výměny na hranici spravované/nespravované, aby přesně představoval ve spravovaném kódu nespravovaná rozhraní API, která tento typ používají unsigned long . Tento typ má 32bitové úložiště na všech platformách Windows a 32bitových unixových platformách. 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 přístupu ke spravovanému objektu z nespravované paměti.

HandleRef

Zabalí spravovaný objekt obsahující popisovač prostředku, který je předán 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 typ s plovoucí desetinou čárkou, který má stejnou velikost jako nativní celočíselná velikost. Je určená k použití jako typ výměny na hranici spravovaného/nespravovaného objektu k přesnému vyjádření v nespravovaných rozhraních API spravovaného kódu, která používají alias typu pro jazyk C nebo C++ float na 32bitových platformách nebo double na 64bitových platformách, jako je například 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

Zpřístupňuje třídu nespravovanému Activator kódu.

_Assembly

Zpřístupňuje veřejné členy Assembly třídy nespravovanému kódu.

_AssemblyBuilder

Zpřístupňuje třídu nespravovanému AssemblyBuilder kódu.

_AssemblyName

Zpřístupňuje třídu nespravovanému AssemblyName kódu.

_Attribute

Zpřístupňuje třídu nespravovanému Attribute kódu.

_ConstructorBuilder

Zpřístupňuje třídu nespravovanému ConstructorBuilder kódu.

_ConstructorInfo

Zpřístupňuje veřejné členy ConstructorInfo třídy nespravovanému kódu.

_CustomAttributeBuilder

Zpřístupňuje třídu nespravovanému CustomAttributeBuilder kódu.

_EnumBuilder

Zpřístupňuje třídu nespravovanému EnumBuilder kódu.

_EventBuilder

Zpřístupňuje třídu nespravovanému EventBuilder kódu.

_EventInfo

Zpřístupňuje veřejné členy EventInfo třídy nespravovanému kódu.

_Exception

Zpřístupňuje veřejné členy Exception třídy nespravovanému kódu.

_FieldBuilder

Zpřístupňuje třídu nespravovanému FieldBuilder kódu.

_FieldInfo

Zpřístupňuje veřejné členy FieldInfo třídy nespravovanému kódu.

_ILGenerator

Zpřístupňuje třídu nespravovanému ILGenerator kódu.

_LocalBuilder

Zpřístupňuje třídu nespravovanému LocalBuilder kódu.

_MemberInfo

Zpřístupňuje veřejné členy MemberInfo třídy nespravovanému kódu.

_MethodBase

Zpřístupňuje veřejné členy MethodBase třídy nespravovanému kódu.

_MethodBuilder

Zpřístupňuje třídu nespravovanému MethodBuilder kódu.

_MethodInfo

Zpřístupňuje veřejné členy MethodInfo třídy nespravovanému kódu.

_MethodRental

Zpřístupňuje třídu nespravovanému MethodRental kódu.

_Module

Zpřístupňuje třídu nespravovanému Module kódu.

_ModuleBuilder

Zpřístupňuje třídu nespravovanému ModuleBuilder kódu.

_ParameterBuilder

Zpřístupňuje třídu nespravovanému ParameterBuilder kódu.

_ParameterInfo

Zpřístupňuje třídu nespravovanému ParameterInfo kódu.

_PropertyBuilder

Zpřístupňuje třídu nespravovanému PropertyBuilder kódu.

_PropertyInfo

Zpřístupňuje veřejné členy PropertyInfo třídy nespravovanému kódu.

_SignatureHelper

Zpřístupňuje třídu nespravovanému SignatureHelper kódu.

_Thread

Zpřístupňuje třídu nespravovanému Thread kódu.

_Type

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

_TypeBuilder

Zpřístupňuje třídu nespravovanému TypeBuilder kódu.

ICustomAdapter

Poskytuje klientům přístup ke skutečnému objektu, nikoli k objektu adaptéru předaný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í metody.

ICustomQueryInterface

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

IDynamicInterfaceCastable

Rozhraní používané k účasti na chybě 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í pro převaděč sestavení informovat volajícího o stavu převodu a zapojit volajícího do samotného procesu převodu.

ITypeLibImporterNotifySink

Poskytuje mechanismus zpětného volání pro převaděč knihovny typů informovat volajícího o stavu převodu a zapojit ho do samotného 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žívaný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é zařazované řetězce znakové sady mají používat.

ClassInterfaceType

Určuje typ rozhraní třídy, který je generován pro třídu.

ComInterfaceType

Určuje, jak zveřejnit 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 GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) metody IUnknown::QueryInterface volání mohou používat ICustomQueryInterface rozhraní.

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 hledání knihoven DLL, které poskytují funkce pro volání platformy.

ExporterEventKind

Popisuje zpětná volání, která provádí export knihovny typů 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é GCHandle typ může přidělit.

IDispatchImplType

Určuje, kterou IDispatch implementaci použít pro konkrétní třídu.

IDLFLAG

Místo toho použijte IDLFLAG.

IMPLTYPEFLAGS

Místo toho použijte IMPLTYPEFLAGS.

ImporterEventKind

Popisuje zpětná volání, která provádí 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/volání.

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í objektu FUNCFLAGS v knihovně typů modelu COM, ze kterého byla tato metoda importována.

TypeLibImporterFlags

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

TypeLibTypeFlags

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

TypeLibVarFlags

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

UnmanagedType

Určuje, jak zařažovat parametry nebo pole do nespravovaného kódu.

VarEnum

Určuje, jak zařakovat prvky pole při zařazování pole 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í.