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.
Fornisce un'ampia gamma di membri che supportano l'interoperabilità COM e i servizi platform invoke. Se non si ha familiarità con questi servizi, vedere Interoperabilità con codice non gestito.
Classi
AllowReversePInvokeCallsAttribute |
Consente a un metodo non gestito di chiamare un metodo gestito. |
AutomationProxyAttribute |
Specifica se il marshalling del tipo deve essere effettuato mediante il gestore di marshalling di Automazione oppure un proxy e uno stub personalizzati. |
BestFitMappingAttribute |
Controlla se i caratteri Unicode vengono convertiti nei caratteri ANSI corrispondenti più vicini. |
BStrWrapper |
Esegue 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 non sicura che fornisce un set di metodi per accedere alle rappresentazioni di dati sottostanti delle raccolte. |
ComAliasNameAttribute |
Indica l'alias COM per un tipo di parametro o campo. |
ComAwareEventInfo |
Consente la registrazione ad associazione tardiva di un gestore eventi. |
ComCompatibleVersionAttribute |
Indica a un client COM che tutte le classi della versione corrente di un assembly sono compatibili con le classi della versione precedente. |
ComConversionLossAttribute |
Indica che le informazioni relative a una classe o a un'interfaccia sono state perse durante l'importazione da una libreria dei tipi in un assembly. |
ComDefaultInterfaceAttribute |
Specifica un'interfaccia predefinita da esporre a COM. La classe non può essere ereditata. |
ComEventInterfaceAttribute |
Identifica l'interfaccia di origine e la classe che implementa i metodi dell'interfaccia eventi generata quando si importa una coclasse da una libreria dei tipi COM. |
ComEventsHelper |
Offre metodi che consentono l'aggiunta e la rimozione dagli oggetti COM di delegati di .NET che gestiscono gli eventi. |
COMException |
Eccezione generata quando viene restituito un HRESULT non riconosciuto da una chiamata a un metodo COM. |
ComImportAttribute |
Indica che il tipo a cui è stato applicato l'attributo è stato definito in precedenza in COM. |
ComRegisterFunctionAttribute |
Specifica il metodo da chiamare quando si registra un assembly per l'utilizzo in COM; questo metodo consente l'esecuzione di codice scritto dall'utente durante la procedura di registrazione. |
ComSourceInterfacesAttribute |
Identifica un elenco di interfacce esposte come origini di eventi COM per la classe con attributi. |
ComUnregisterFunctionAttribute |
Specifica il metodo da chiamare quando si annulla la registrazione di un assembly per l'utilizzo in COM; questo metodo consente l'esecuzione di codice scritto dall'utente durante la procedura di annullamento della registrazione. |
ComVisibleAttribute |
Controlla l'accessibilità di un singolo tipo gestito o un membro, oppure di tutti i tipi all'interno di un assembly, per COM. |
ComWrappers |
Classe per gestire i wrapper di tipi IUnknown COM. |
CriticalHandle |
Rappresenta una classe wrapper per le risorse di handle. |
CurrencyWrapper |
Esegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come |
DefaultCharSetAttribute |
Specifica il valore dell'enumerazione CharSet. La classe non può essere ereditata. |
DefaultDllImportSearchPathsAttribute |
Specifica i percorsi usati per cercare le DLL che forniscono le funzioni per le operazioni platform invoke. |
DefaultParameterValueAttribute |
Imposta il valore predefinito di un parametro quando viene chiamato da un linguaggio che supporta parametri predefiniti. La classe non può essere ereditata. |
DispatchWrapper |
Esegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come |
DispIdAttribute |
Specifica l'identificatore di invio (DISPID) COM di un metodo, un campo o una proprietà. |
DllImportAttribute |
Indica che il metodo con attributi viene esposto da una libreria di collegamento dinamico (DLL) non gestita come un punto di ingresso statico. |
DynamicInterfaceCastableImplementationAttribute |
Attributo richiesto da qualsiasi tipo restituito da GetInterfaceImplementation(RuntimeTypeHandle). |
ErrorWrapper |
Esegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come |
ExtensibleClassFactory |
Consente la personalizzazione di oggetti gestiti estesi da oggetti non gestiti durante la creazione. |
ExternalException |
Il tipo di eccezione base per tutte le eccezioni di interoperabilità COM e le eccezioni SEH (Structured Exception Handling, gestione strutturata delle eccezioni). |
FieldOffsetAttribute |
Indica la posizione fisica dei campi all'interno della rappresentazione non gestita di una classe o una struttura. |
GuidAttribute |
Fornisce un oggetto Guid esplicito quando un GUID automatico non è auspicabile. |
HandleCollector |
Tiene traccia degli handle in sospeso e forza un'operazione di Garbage Collection quando viene raggiunta la soglia specificata. |
IDispatchImplAttribute |
Indica quale implementazione di |
ImmutableCollectionsMarshal |
Classe non sicura 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 definiti in origine in una libreria dei tipi. |
InAttribute |
Indica che il marshalling dei dati deve essere eseguito dal chiamante al chiamato, ma non di nuovo al chiamante. |
InterfaceTypeAttribute |
Indica se un'interfaccia gestita è del tipo dual, dispatch-only o solo |
InvalidComObjectException |
Eccezione generata quando si usa un oggetto COM non valido. |
InvalidOleVariantTypeException |
Eccezione generata dal gestore di marshalling quando viene rilevato un argomento di tipo Variant per cui non è possibile eseguire il marshalling nel codice gestito. |
LCIDConversionAttribute |
Indica che la firma non gestita di un metodo prevede un parametro di ID impostazioni locali (LCID). |
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 dell'utente di stub di interoperabilità negli scenari di interoperabilità da gestito a COM. |
Marshal |
Fornisce una raccolta di metodi per l'allocazione della memoria non gestita, la copia di blocchi di memoria non gestita e la conversione di tipi gestiti in tipi non gestiti, oltre ad altri metodi usati durante l'interazione con codice non gestito. |
MarshalAsAttribute |
Indica come eseguire il marshalling dei dati tra codice gestito e non gestito. |
MarshalDirectiveException |
Eccezione generata dal gestore di marshalling quando rileva un oggetto MarshalAsAttribute non supportato. |
MemoryMarshal |
Fornisce metodi per interoperabilità con Memory<T>, ReadOnlyMemory<T>, Span<T>e ReadOnlySpan<T>. |
NativeLibrary |
Offre 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 effettuato dal chiamato al chiamante. |
PosixSignalContext |
Fornisce i dati per un PosixSignalRegistration evento. |
PosixSignalRegistration |
Gestisce un PosixSignaloggetto . |
PreserveSigAttribute |
Indica che la trasformazione della firma HRESULT che si svolge 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 insieme di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti da utilizzare da COM. |
RuntimeEnvironment |
Fornisce un insieme di metodi |
RuntimeInformation |
Visualizza informazioni sull'installazione di runtime .NET. |
SafeArrayRankMismatchException |
Eccezione generata quando il numero di dimensioni di un |
SafeArrayTypeMismatchException |
Eccezione generata quando il tipo di |
SafeBuffer |
Fornisce un buffer di memoria controllato che può essere usato per la lettura e la scrittura. I tentativi di accedere alla memoria al di fuori del buffer controllato (sottocarichi e sovraccarichi) generano eccezioni. |
SafeHandle |
Rappresenta una classe wrapper per gli handle del sistema operativo. La classe deve essere ereditata. |
SEHException |
Rappresenta errori SEH (Structured Exception Handling). |
SequenceMarshal |
Offre una raccolta di metodi per l'interoperabilità con ReadOnlySequence<T>. |
SetWin32ContextInIDispatchAttribute |
Questo attributo è stato deprecato. |
StandardOleMarshalObject |
Sostituisce il gestore del marshalling con modello di threading Free CLR (Common Language Runtime) con il gestore del marshalling OLE STA. |
StructLayoutAttribute |
Consente di controllare il layout fisico dei campi dati di una classe o una struttura in memoria. |
SuppressGCTransitionAttribute |
Indica che una transizione di Garbage Collection deve essere ignorata quando viene eseguita una chiamata di funzione non gestita. |
TypeIdentifierAttribute |
Fornisce supporto per l'equivalenza del tipo. |
TypeLibConverter |
Fornisce un insieme di servizi che convertono un assembly gestito in una libreria dei tipi COM e viceversa. |
TypeLibFuncAttribute |
Contiene l'oggetto FUNCFLAGS originariamente importato per questo metodo dalla libreria dei tipi COM. |
TypeLibImportClassAttribute |
Specifica quale oggetto Type utilizza in modo esclusivo un'interfaccia. La classe non può essere ereditata. |
TypeLibTypeAttribute |
Contiene l'oggetto TYPEFLAGS originariamente importato per questo tipo dalla libreria dei tipi COM. |
TypeLibVarAttribute |
Contiene l'oggetto VARFLAGS originariamente importato per questo campo dalla libreria dei tipi COM. |
TypeLibVersionAttribute |
Specifica il numero della versione di una libreria dei tipi esportata. |
UnknownWrapper |
Esegue il wrapping degli oggetti di cui 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'indirizzo dell'operatore in C# e passato come callback a un metodo nativo. |
UnmanagedFunctionPointerAttribute |
Controlla il comportamento di marshalling di una firma di delegato passata come un puntatore a una funzione non gestita o da codice non gestito. La classe non può essere ereditata. |
VariantWrapper |
Esegue il marshalling dei dati di tipo |
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 |
ComWrappers.ComInterfaceDispatch |
Interfaccia binaria di un'applicazione per il dispatch di funzioni di un'interfaccia COM. |
ComWrappers.ComInterfaceEntry |
Tipo di interfaccia e puntatore all'elemento VTable di destinazione. |
CONNECTDATA |
Usare invece CONNECTDATA. |
CULong |
CULong è un tipo valore non modificabile che rappresenta il |
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 da una memoria non gestita. |
HandleRef |
Esegue il wrapping di un oggetto gestito che contiene un handle a una risorsa passata a un codice non gestito attraverso il platform invoke. |
IDLDESC |
Usare invece IDLDESC. |
NFloat |
NFloat è un tipo di valore non modificabile che rappresenta un tipo mobile con le stesse dimensioni dell'intero nativo.
È destinato a 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 le piattaforme C o C++ |
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 a codice non gestito. |
_Assembly |
Espone i membri pubblici della classe Assembly a codice non gestito. |
_AssemblyBuilder |
Espone la classe AssemblyBuilder a codice non gestito. |
_AssemblyName |
Espone la classe AssemblyName a codice non gestito. |
_Attribute |
Espone la classe Attribute a codice non gestito. |
_ConstructorBuilder |
Espone la classe ConstructorBuilder a codice non gestito. |
_ConstructorInfo |
Espone i membri pubblici della classe ConstructorInfo a codice non gestito. |
_CustomAttributeBuilder |
Espone la classe CustomAttributeBuilder a codice non gestito. |
_EnumBuilder |
Espone la classe EnumBuilder a codice non gestito. |
_EventBuilder |
Espone la classe EventBuilder a codice non gestito. |
_EventInfo |
Espone i membri pubblici della classe EventInfo a codice non gestito. |
_Exception |
Espone i membri pubblici della classe Exception a codice non gestito. |
_FieldBuilder |
Espone la classe FieldBuilder a codice non gestito. |
_FieldInfo |
Espone i membri pubblici della classe FieldInfo a codice non gestito. |
_ILGenerator |
Espone la classe ILGenerator a codice non gestito. |
_LocalBuilder |
Espone la classe LocalBuilder a codice non gestito. |
_MemberInfo |
Espone i membri pubblici della classe MemberInfo a codice non gestito. |
_MethodBase |
Espone i membri pubblici della classe MethodBase a codice non gestito. |
_MethodBuilder |
Espone la classe MethodBuilder a codice non gestito. |
_MethodInfo |
Espone i membri pubblici della classe MethodInfo a codice non gestito. |
_MethodRental |
Espone la classe MethodRental a codice non gestito. |
_Module |
Espone la classe Module a codice non gestito. |
_ModuleBuilder |
Espone la classe ModuleBuilder a codice non gestito. |
_ParameterBuilder |
Espone la classe ParameterBuilder a codice non gestito. |
_ParameterInfo |
Espone la classe ParameterInfo a codice non gestito. |
_PropertyBuilder |
Espone la classe PropertyBuilder a codice non gestito. |
_PropertyInfo |
Espone i membri pubblici della classe PropertyInfo a codice non gestito. |
_SignatureHelper |
Espone la classe SignatureHelper a codice non gestito. |
_Thread |
Espone la classe Thread a codice non gestito. |
_Type |
Espone i membri pubblici dell'oggettoType a codice non gestito. |
_TypeBuilder |
Espone la classe TypeBuilder a codice non gestito. |
ICustomAdapter |
Fornisce un sistema con cui i client possono accedere all'oggetto effettivo, anziché all'oggetto adapter fornito da un gestore di marshalling personalizzato. |
ICustomFactory |
Consente agli utenti di scrivere il codice di attivazione per gli oggetti gestiti che estendono MarshalByRefObject. |
ICustomMarshaler |
Fornisce wrapper personalizzati per la gestione delle chiamate a metodi. |
ICustomQueryInterface |
Consente agli sviluppatori di fornire un'implementazione gestita e personalizzata del metodo IUnknown::QueryInterface(REFIID riid, void **ppvObject). |
IDynamicInterfaceCastable |
Interfaccia usata per la partecipazione a un errore del cast di tipo. |
IRegistrationServices |
Fornisce un insieme di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti da utilizzare da COM. |
ITypeLibConverter |
Fornisce un insieme di servizi che convertono un assembly gestito in una libreria dei tipi COM e viceversa. |
ITypeLibExporterNameProvider |
Consente di controllare la combinazione di maiuscole e minuscole nei nomi per l'esportazione in una libreria dei tipi. |
ITypeLibExporterNotifySink |
Fornisce un meccanismo di callback per il convertitore dell'assembly, per informare il chiamante dello stato della conversione e coinvolgerlo nel processo di conversione. |
ITypeLibImporterNotifySink |
Fornisce un meccanismo di callback per il convertitore della libreria dei tipi, per informare il chiamante dello stato della conversione e coinvolgerlo nel processo di conversione. |
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 gruppo di flag utilizzati nella registrazione di assembly. |
CALLCONV |
Usare invece CALLCONV. |
CallingConvention |
Specifica la convenzione di chiamata necessaria per chiamare i metodi implementati nel codice non gestito. |
CharSet |
Stabilisce quali stringhe sottoposte a marshalling del set di caratteri devono essere usate. |
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 GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) di tipo IUnknown::QueryInterface possono usare l'interfaccia ICustomQueryInterface. |
CustomQueryInterfaceResult |
Fornisce i valori restituiti dal metodo GetInterface(Guid, IntPtr). |
DESCKIND |
Usare invece DESCKIND. |
DllImportSearchPath |
Specifica i percorsi usati per cercare le DLL che forniscono le funzioni per le operazioni platform invoke. |
ExporterEventKind |
Descrive i callback eseguiti dallo strumento di esportazione della libreria dei tipi durante l'esportazione. |
FUNCFLAGS |
Usare invece FUNCFLAGS. |
FUNCKIND |
Usare invece FUNCKIND. |
GCHandleType |
Rappresenta i tipi di handle che il GCHandle tipo può allocare. |
IDispatchImplType |
Indica quale implementazione di |
IDLFLAG |
Usare invece IDLFLAG. |
IMPLTYPEFLAGS |
Usare invece IMPLTYPEFLAGS. |
ImporterEventKind |
Descrive i callback eseguiti dall'utilità di importazione della libreria dei tipi durante un'importazione. |
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 l'insieme di contesti di esecuzione in cui un oggetto classe verrà reso disponibile per richieste di creazione di istanze. |
RegistrationConnectionType |
Definisce i tipi di connessioni a un oggetto classe. |
StringMarshalling |
Specifica la modalità di marshalling delle stringhe per le stringhe generate p/invokes |
SYSKIND |
Usare invece SYSKIND. |
TYPEFLAGS |
Usare invece TYPEFLAGS. |
TYPEKIND |
Usare invece TYPEKIND. |
TypeLibExporterFlags |
Indica le modalità di produzione di una libreria dei tipi. |
TypeLibFuncFlags |
Descrive le impostazioni originali dell'oggetto |
TypeLibImporterFlags |
Indica le modalità di produzione di un assembly. |
TypeLibTypeFlags |
Descrive le impostazioni originali dell'oggetto TYPEFLAGS nella libreria dei tipi COM dalla quale il tipo è stato importato. |
TypeLibVarFlags |
Descrive le impostazioni originali dell'oggetto VARFLAGS nella libreria dei tipi COM dalla quale la variabile è stata importata. |
UnmanagedType |
Identifica come eseguire il marshalling di parametri o campi nel codice gestito. |
VarEnum |
Indica le modalità di esecuzione del marshalling degli elementi della matrice quando viene effettuato il marshalling di una matrice da codice gestito a codice non gestito come SafeArray. |
VARFLAGS |
Usare invece VARFLAGS. |
Delegati
DllImportResolver |
Specifica 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 strutture o come rappresentare stringhe. Gli attributi più importanti sono DllImportAttribute, che vengono usati per definire metodi di richiamo della piattaforma per l'accesso alle API non gestite e MarshalAsAttribute, che si usa per specificare il marshalling dei dati tra la memoria gestita e non gestita.