System.Runtime.InteropServices Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Offre un'ampia gamma di membri che supportano l'interoperabilità COM e i servizi platform invoke. Se non si ha familiarità con questi servizi, vedere l'interoperabilità con codice non gestito.
Classi
AllowReversePInvokeCallsAttribute |
Consente a un metodo non gestito di chiamare un metodo gestito. |
AutomationProxyAttribute |
Specifica se il tipo deve essere sottoposto a marshalling usando il gestore di marshalling di Automazione o un proxy personalizzato e uno stub. |
BestFitMappingAttribute |
Controlla se i caratteri Unicode vengono convertiti nei caratteri ANSI corrispondenti più vicini. |
BStrWrapper |
Effettua il marshalling dei dati di tipo |
ClassInterfaceAttribute |
Indica il tipo di interfaccia di classe da generare per una classe esposta a COM, se viene generata un'interfaccia. |
CoClassAttribute |
Specifica l'identificatore di classe di una coclasse importata da una libreria dei tipi. |
CollectionsMarshal |
Classe unsafe che fornisce un set di metodi per accedere alle rappresentazioni dei dati sottostanti delle raccolte. |
ComAliasNameAttribute |
Indica l'alias COM per un parametro o un tipo di campo. |
ComAwareEventInfo |
Consente la registrazione ad associazione tardiva di un gestore eventi. |
ComCompatibleVersionAttribute |
Indica a un client COM che tutte le classi nella versione corrente di un assembly sono compatibili con le classi in una versione precedente dell'assembly. |
ComConversionLossAttribute |
Indica che le informazioni sono state perse su una classe o un'interfaccia quando è stata importata da una libreria dei tipi a un assembly. |
ComDefaultInterfaceAttribute |
Specifica un'interfaccia predefinita da esporre a COM. Questa classe non può essere ereditata. |
ComEventInterfaceAttribute |
Identifica l'interfaccia di origine e la classe che implementa i metodi dell'interfaccia evento generata quando una coclasse viene importata da una libreria dei tipi COM. |
ComEventsHelper |
Fornisce metodi che consentono ai delegati .NET di gestire gli eventi da aggiungere e rimuovere dagli oggetti COM. |
COMException |
Eccezione generata quando viene restituito un HRESULT non riconosciuto da una chiamata al metodo COM. |
ComImportAttribute |
Indica che il tipo con attributi è stato definito in precedenza in COM. |
ComRegisterFunctionAttribute |
Specifica il metodo da chiamare quando si registra un assembly da utilizzare da COM; ciò consente l'esecuzione di codice scritto dall'utente durante il processo di registrazione. |
ComSourceInterfacesAttribute |
Identifica un elenco di interfacce esposte come origini evento COM per la classe con attributi. |
ComUnregisterFunctionAttribute |
Specifica il metodo da chiamare quando si annulla la registrazione di un assembly da utilizzare da COM; ciò consente l'esecuzione di codice scritto dall'utente durante il processo di annullamento della registrazione. |
ComVisibleAttribute |
Controlla l'accessibilità di un singolo tipo gestito o membro, o di tutti i tipi all'interno di un assembly, a COM. |
ComWrappers |
Classe per la gestione dei wrapper dei tipi COM IUnknown. |
CriticalHandle |
Rappresenta una classe wrapper per gestire le risorse. |
CurrencyWrapper |
Esegue il wrapping degli oggetti che il gestore di marshalling deve eseguire il marshalling come |
DefaultCharSetAttribute |
Specifica il valore dell'enumerazione CharSet. Questa classe non può essere ereditata. |
DefaultDllImportSearchPathsAttribute |
Specifica i percorsi usati per la ricerca di DLL che forniscono funzioni per le chiamate della piattaforma. |
DefaultParameterValueAttribute |
Imposta il valore predefinito di un parametro quando viene chiamato da una lingua che supporta i parametri predefiniti. Questa classe non può essere ereditata. |
DispatchWrapper |
Esegue il wrapping degli oggetti che il gestore di marshalling deve eseguire il marshalling come |
DispIdAttribute |
Specifica l'identificatore di invio COM (DISPID) di un metodo, un campo o una proprietà. |
DllImportAttribute |
Indica che il metodo con attributi è esposto da una libreria di collegamento dinamico (DLL) non gestita come punto di ingresso statico. |
DynamicInterfaceCastableImplementationAttribute |
Attributo richiesto da qualsiasi tipo restituito da GetInterfaceImplementation(RuntimeTypeHandle). |
ErrorWrapper |
Esegue il wrapping degli oggetti che il gestore di marshalling deve eseguire il marshalling come |
ExtensibleClassFactory |
Abilita la personalizzazione di oggetti gestiti che si estendono da oggetti non gestiti durante la creazione. |
ExternalException |
Tipo di eccezione di base per tutte le eccezioni di interoperabilità COM e le eccezioni di gestione delle eccezioni strutturate (SEH). |
FieldOffsetAttribute |
Indica la posizione fisica dei campi all'interno della rappresentazione non gestita di una classe o di una struttura. |
GuidAttribute |
Fornisce un Guid esplicito quando un GUID automatico è indesiderato. |
HandleCollector |
Tiene traccia degli handle in sospeso e forza un'operazione di Garbage Collection quando viene raggiunta la soglia specificata. |
IDispatchImplAttribute |
Indica quale |
ImmutableCollectionsMarshal |
Classe unsafe che fornisce un set di metodi per accedere alle rappresentazioni di dati sottostanti di raccolte non modificabili. |
ImportedFromTypeLibAttribute |
Indica che i tipi definiti all'interno di un assembly sono stati originariamente definiti in una libreria dei tipi. |
InAttribute |
Indica che il marshalling dei dati deve essere eseguito dal chiamante al chiamato, ma non al chiamante. |
InterfaceTypeAttribute |
Indica se un'interfaccia gestita è doppia, solo dispatch o |
InvalidComObjectException |
Eccezione generata quando viene utilizzato un oggetto COM non valido. |
InvalidOleVariantTypeException |
Eccezione generata dal gestore di marshalling quando rileva un argomento di un tipo variant che non può essere sottoposto a marshalling al codice gestito. |
JsonMarshal |
Offre un'ampia gamma di membri che supportano l'interoperabilità COM e i servizi platform invoke. Se non si ha familiarità con questi servizi, vedere l'interoperabilità con codice non gestito. |
LCIDConversionAttribute |
Indica che la firma non gestita di un metodo prevede un parametro LCID (Locale Identifier). |
LibraryImportAttribute |
Indica che un generatore di origine deve creare una funzione per gli argomenti di marshalling anziché basarsi sul runtime per generare una funzione di marshalling equivalente in fase di esecuzione. |
ManagedToNativeComInteropStubAttribute |
Fornisce supporto per la personalizzazione degli stub di interoperabilità in scenari di interoperabilità da gestito a COM. |
Marshal |
Fornisce una raccolta di metodi per l'allocazione di memoria non gestita, la copia di blocchi di memoria non gestiti e la conversione in tipi non gestiti, nonché altri metodi esterni utilizzati durante l'interazione con codice non gestito. |
MarshalAsAttribute |
Indica come effettuare il marshalling dei dati tra codice gestito e non gestito. |
MarshalDirectiveException |
Eccezione generata dal gestore di marshalling quando rileva un MarshalAsAttribute non supportato. |
MemoryMarshal |
Fornisce metodi per interagire con Memory<T>, ReadOnlyMemory<T>, Span<T>e ReadOnlySpan<T>. |
NativeLibrary |
Fornisce API per la gestione delle librerie native. |
NativeMemory |
Questa classe contiene metodi usati principalmente per gestire la memoria nativa. |
OptionalAttribute |
Indica che un parametro è facoltativo. |
OutAttribute |
Indica che il marshalling dei dati deve essere eseguito dal chiamato al chiamante. |
PosixSignalContext |
Fornisce dati per un evento PosixSignalRegistration. |
PosixSignalRegistration |
Gestisce un PosixSignal. |
PreserveSigAttribute |
Indica che la trasformazione della firma HRESULT che viene eseguita durante le chiamate di interoperabilità COM deve essere eliminata. |
PrimaryInteropAssemblyAttribute |
Indica che l'assembly con attributi è un assembly di interoperabilità primario. |
ProgIdAttribute |
Consente all'utente di specificare il ProgID di una classe. |
RegistrationServices |
Fornisce un set di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti da COM. |
RuntimeEnvironment |
Fornisce una raccolta di metodi |
RuntimeInformation |
Fornisce informazioni sull'installazione del runtime .NET. |
SafeArrayRankMismatchException |
Eccezione generata quando la classificazione di un |
SafeArrayTypeMismatchException |
Eccezione generata quando il tipo del |
SafeBuffer |
Fornisce un buffer di memoria controllato che può essere utilizzato per la lettura e la scrittura. I tentativi di accedere alla memoria all'esterno del buffer controllato (sottorun e sovraccarichi) generano eccezioni. |
SafeHandle |
Rappresenta una classe wrapper per gli handle del sistema operativo. Questa classe deve essere ereditata. |
SEHException |
Rappresenta gli errori seh (Structured Exception Handling). |
SequenceMarshal |
Fornisce una raccolta di metodi per l'interoperabilità con ReadOnlySequence<T>. |
SetWin32ContextInIDispatchAttribute |
Questo attributo è stato deprecato. |
StandardOleMarshalObject |
Sostituisce il gestore di marshalling senza thread (CLR) standard con il gestore di marshalling OLE STA standard. |
StructLayoutAttribute |
Consente di controllare il layout fisico dei campi dati di una classe o di una struttura in memoria. |
SuppressGCTransitionAttribute |
Indica che una transizione di Garbage Collection deve essere ignorata quando viene effettuata una chiamata di funzione non gestita. |
TypeIdentifierAttribute |
Fornisce supporto per l'equivalenza del tipo. |
TypeLibConverter |
Fornisce un set di servizi che converte un assembly gestito in una libreria dei tipi COM e viceversa. |
TypeLibFuncAttribute |
Contiene le FUNCFLAGS importate originariamente per questo metodo dalla libreria dei tipi COM. |
TypeLibImportClassAttribute |
Specifica quale Type usa esclusivamente un'interfaccia. Questa classe non può essere ereditata. |
TypeLibTypeAttribute |
Contiene le TYPEFLAGS importate originariamente per questo tipo dalla libreria dei tipi COM. |
TypeLibVarAttribute |
Contiene le VARFLAGS importate originariamente per questo campo dalla libreria dei tipi COM. |
TypeLibVersionAttribute |
Specifica il numero di versione di una libreria dei tipi esportata. |
UnknownWrapper |
Esegue il wrapping degli oggetti che il gestore di marshalling deve eseguire il marshalling come |
UnmanagedCallConvAttribute |
Specifica la convenzione di chiamata necessaria per chiamare i metodi P/Invoke implementati nel codice non gestito. |
UnmanagedCallersOnlyAttribute |
Qualsiasi metodo contrassegnato con UnmanagedCallersOnlyAttribute può essere chiamato direttamente dal codice nativo. Il token di funzione può essere caricato in una variabile locale usando l'operatore address-of in C# e passato come callback a un metodo nativo. |
UnmanagedFunctionPointerAttribute |
Controlla il comportamento di marshalling di una firma del delegato passato come puntatore di funzione non gestito a o da codice non gestito. Questa classe non può essere ereditata. |
VariantWrapper |
Effettua il marshalling dei dati di tipo |
WasmImportLinkageAttribute |
Specifica che il P/Invoke contrassegnato con questo attributo deve essere collegato come importazione WASM. |
Struct
ArrayWithOffset |
Incapsula una matrice e un offset all'interno della matrice specificata. |
BIND_OPTS |
Usare invece BIND_OPTS. |
BINDPTR |
Usare invece BINDPTR. |
CLong |
CLong è un tipo valore non modificabile che rappresenta il tipo di |
ComWrappers.ComInterfaceDispatch |
Interfaccia binaria dell'applicazione per l'invio di funzioni di un'interfaccia COM. |
ComWrappers.ComInterfaceEntry |
Tipo di interfaccia e puntatore alla VTable di destinazione. |
CONNECTDATA |
Usare invece CONNECTDATA. |
CULong |
CULong è un tipo valore non modificabile che rappresenta il tipo di |
DISPPARAMS |
Usare invece DISPPARAMS. |
ELEMDESC |
Usare invece ELEMDESC. |
ELEMDESC.DESCUNION |
Usare invece ELEMDESC.DESCUNION. |
EXCEPINFO |
Usare invece EXCEPINFO. |
FILETIME |
Usare invece FILETIME. |
FUNCDESC |
Usare invece FUNCDESC. |
GCHandle |
Fornisce un modo per accedere a un oggetto gestito dalla memoria non gestita. |
HandleRef |
Esegue il wrapping di un oggetto gestito che contiene un handle a una risorsa passata al codice non gestito tramite platform invoke. |
IDLDESC |
Usare invece IDLDESC. |
NFloat |
NFloat è un tipo valore non modificabile che rappresenta un tipo mobile con le stesse dimensioni dell'intero nativo.
È progettato per essere usato come tipo di scambio al limite gestito/non gestito per rappresentare in modo accurato le API non gestite del codice gestito che usano un alias di tipo per il |
OSPlatform |
Rappresenta una piattaforma del sistema operativo. |
PARAMDESC |
Usare invece PARAMDESC. |
STATSTG |
Usare invece STATSTG. |
TYPEATTR |
Usare invece TYPEATTR. |
TYPEDESC |
Usare invece TYPEDESC. |
TYPELIBATTR |
Usare invece TYPELIBATTR. |
VARDESC |
Usare invece VARDESC. |
VARDESC.DESCUNION |
Usare invece VARDESC.DESCUNION. |
Interfacce
_Activator |
Espone la classe Activator al codice non gestito. |
_Assembly |
Espone i membri pubblici della classe Assembly al codice non gestito. |
_AssemblyBuilder |
Espone la classe AssemblyBuilder al codice non gestito. |
_AssemblyName |
Espone la classe AssemblyName al codice non gestito. |
_Attribute |
Espone la classe Attribute al codice non gestito. |
_ConstructorBuilder |
Espone la classe ConstructorBuilder al codice non gestito. |
_ConstructorInfo |
Espone i membri pubblici della classe ConstructorInfo al codice non gestito. |
_CustomAttributeBuilder |
Espone la classe CustomAttributeBuilder al codice non gestito. |
_EnumBuilder |
Espone la classe EnumBuilder al codice non gestito. |
_EventBuilder |
Espone la classe EventBuilder al codice non gestito. |
_EventInfo |
Espone i membri pubblici della classe EventInfo al codice non gestito. |
_Exception |
Espone i membri pubblici della classe Exception al codice non gestito. |
_FieldBuilder |
Espone la classe FieldBuilder al codice non gestito. |
_FieldInfo |
Espone i membri pubblici della classe FieldInfo al codice non gestito. |
_ILGenerator |
Espone la classe ILGenerator al codice non gestito. |
_LocalBuilder |
Espone la classe LocalBuilder al codice non gestito. |
_MemberInfo |
Espone i membri pubblici della classe MemberInfo al codice non gestito. |
_MethodBase |
Espone i membri pubblici della classe MethodBase al codice non gestito. |
_MethodBuilder |
Espone la classe MethodBuilder al codice non gestito. |
_MethodInfo |
Espone i membri pubblici della classe MethodInfo al codice non gestito. |
_MethodRental |
Espone la classe MethodRental al codice non gestito. |
_Module |
Espone la classe Module al codice non gestito. |
_ModuleBuilder |
Espone la classe ModuleBuilder al codice non gestito. |
_ParameterBuilder |
Espone la classe ParameterBuilder al codice non gestito. |
_ParameterInfo |
Espone la classe ParameterInfo al codice non gestito. |
_PropertyBuilder |
Espone la classe PropertyBuilder al codice non gestito. |
_PropertyInfo |
Espone i membri pubblici della classe PropertyInfo al codice non gestito. |
_SignatureHelper |
Espone la classe SignatureHelper al codice non gestito. |
_Thread |
Espone la classe Thread al codice non gestito. |
_Type |
Espone i membri pubblici della classe Type al codice non gestito. |
_TypeBuilder |
Espone la classe TypeBuilder al codice non gestito. |
ICustomAdapter |
Consente ai client di accedere all'oggetto effettivo anziché all'oggetto adapter distribuito da un gestore di marshalling personalizzato. |
ICustomFactory |
Consente agli utenti di scrivere codice di attivazione per gli oggetti gestiti che estendono MarshalByRefObject. |
ICustomMarshaler |
Fornisce wrapper personalizzati per la gestione delle chiamate ai metodi. |
ICustomQueryInterface |
Consente agli sviluppatori di fornire un'implementazione gestita personalizzata del metodo IUnknown::QueryInterface(REFIID riid, void **ppvObject). |
IDynamicInterfaceCastable |
Interfaccia usata per partecipare a un errore di cast del tipo. |
IRegistrationServices |
Fornisce un set di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti da COM. |
ITypeLibConverter |
Fornisce un set di servizi che converte un assembly gestito in una libreria dei tipi COM e viceversa. |
ITypeLibExporterNameProvider |
Fornisce il controllo sulla combinazione di maiuscole e minuscole di nomi quando viene esportata in una libreria dei tipi. |
ITypeLibExporterNotifySink |
Fornisce un meccanismo di callback per il convertitore di assembly per informare il chiamante dello stato della conversione e coinvolgere il chiamante nel processo di conversione stesso. |
ITypeLibImporterNotifySink |
Fornisce un meccanismo di callback per il convertitore di librerie dei tipi per informare il chiamante dello stato della conversione e coinvolgere il chiamante nel processo di conversione stesso. |
UCOMIBindCtx |
Usare invece BIND_OPTS. |
UCOMIConnectionPoint |
Usare invece IConnectionPoint. |
UCOMIConnectionPointContainer |
Usare invece IConnectionPointContainer. |
UCOMIEnumConnectionPoints |
Usare invece IEnumConnectionPoints. |
UCOMIEnumConnections |
Usare invece IEnumConnections. |
UCOMIEnumMoniker |
Usare invece IEnumMoniker. |
UCOMIEnumString |
Usare invece IEnumString. |
UCOMIEnumVARIANT |
Usare invece IEnumVARIANT. |
UCOMIMoniker |
Usare invece IMoniker. |
UCOMIPersistFile |
Usare invece IPersistFile. |
UCOMIRunningObjectTable |
Usare invece IRunningObjectTable. |
UCOMIStream |
Usare invece IStream. |
UCOMITypeComp |
Usare invece ITypeComp. |
UCOMITypeInfo |
Usare invece ITypeInfo. |
UCOMITypeLib |
Usare invece ITypeLib. |
Enumerazioni
Architecture |
Indica l'architettura del processore. |
AssemblyRegistrationFlags |
Definisce un set di flag utilizzati per la registrazione di assembly. |
CALLCONV |
Usare invece CALLCONV. |
CallingConvention |
Specifica la convenzione di chiamata necessaria per chiamare i metodi implementati nel codice non gestito. |
CharSet |
Determina quale set di caratteri deve usare per le stringhe con marshalling. |
ClassInterfaceType |
Identifica il tipo di interfaccia di classe generata per una classe. |
ComInterfaceType |
Identifica come esporre un'interfaccia a COM. |
ComMemberType |
Descrive il tipo di un membro COM. |
CreateComInterfaceFlags |
Specifica i flag per il metodo GetOrCreateComInterfaceForObject(Object, CreateComInterfaceFlags). |
CreateObjectFlags |
Specifica i flag per il metodo GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags). |
CustomQueryInterfaceMode |
Indica se le chiamate del metodo |
CustomQueryInterfaceResult |
Fornisce i valori restituiti per il metodo GetInterface(Guid, IntPtr). |
DESCKIND |
Usare invece DESCKIND. |
DllImportSearchPath |
Specifica i percorsi usati per la ricerca di DLL che forniscono funzioni per le chiamate della piattaforma. |
ExporterEventKind |
Descrive i callback usata dall'utilità di esportazione della libreria dei tipi durante l'esportazione di una libreria dei tipi. |
FUNCFLAGS |
Usare invece FUNCFLAGS. |
FUNCKIND |
Usare invece FUNCKIND. |
GCHandleType |
Rappresenta i tipi di handle che il tipo di GCHandle può allocare. |
IDispatchImplType |
Indica quale |
IDLFLAG |
Usare invece IDLFLAG. |
IMPLTYPEFLAGS |
Usare invece IMPLTYPEFLAGS. |
ImporterEventKind |
Descrive i callback usata dall'utilità di importazione della libreria dei tipi durante l'importazione di una libreria dei tipi. |
INVOKEKIND |
Usare invece INVOKEKIND. |
LayoutKind |
Controlla il layout di un oggetto quando viene esportato in codice non gestito. |
LIBFLAGS |
Usare invece LIBFLAGS. |
PARAMFLAG |
Usare invece PARAMFLAG. |
PosixSignal |
Specifica un numero di segnale POSIX. |
RegistrationClassContext |
Specifica il set di contesti di esecuzione in cui verrà reso disponibile un oggetto classe per le richieste di costruzione di istanze. |
RegistrationConnectionType |
Definisce i tipi di connessioni a un oggetto classe. |
StringMarshalling |
Specifica la modalità di marshalling delle stringhe per i p/invoke generati |
SYSKIND |
Usare invece SYSKIND. |
TYPEFLAGS |
Usare invece TYPEFLAGS. |
TYPEKIND |
Usare invece TYPEKIND. |
TypeLibExporterFlags |
Indica come deve essere prodotta una libreria dei tipi. |
TypeLibFuncFlags |
Descrive le impostazioni originali del |
TypeLibImporterFlags |
Indica come deve essere prodotto un assembly. |
TypeLibTypeFlags |
Descrive le impostazioni originali del TYPEFLAGS nella libreria dei tipi COM da cui è stato importato il tipo. |
TypeLibVarFlags |
Descrive le impostazioni originali del VARFLAGS nella libreria dei tipi COM da cui è stata importata la variabile. |
UnmanagedType |
Identifica come effettuare il marshalling di parametri o campi nel codice non gestito. |
VarEnum |
Indica come effettuare il marshalling degli elementi della matrice quando viene eseguito il marshalling di una matrice da codice gestito a codice non gestito come SafeArray. |
VARFLAGS |
Usare invece VARFLAGS. |
Delegati
DllImportResolver |
Fornisce un delegato usato per risolvere le librerie native tramite callback. |
ObjectCreationDelegate |
Crea un oggetto COM. |
Commenti
I membri di questo spazio dei nomi forniscono diverse categorie di funzionalità, come illustrato nella tabella seguente. Gli attributi controllano il comportamento di marshalling, ad esempio come disporre le strutture o come rappresentare le stringhe. Gli attributi più importanti sono DllImportAttribute, che vengono usati per definire i metodi platform invoke per l'accesso alle API non gestite e MarshalAsAttribute, che viene usato per specificare il marshalling dei dati tra la memoria gestita e quella non gestita.