Questa documentazione è stata archiviata e non viene gestita.

Spazio dei nomi System.Runtime.InteropServices

Lo spazio dei nomi System.Runtime.InteropServices fornisce un'ampia varietà di membri che supportano l'interoperabilità COM e servizi di chiamata al sistema operativo. Per informazioni su come utilizzare questi servizi, vedere Interoperabilità con codice non gestito.

I membri di questo spazio dei nomi forniscono diverse categorie di funzionalità, come descritto nella tabella seguente: Gli attributi controllano il comportamento del marshalling, ad esempio il modo di disporre strutture o di rappresentare stringhe. Gli attributi più importanti sono DllImportAttribute, utilizzato per definire i metodi di chiamata al sistema operativo per l'accesso alle API non gestite, e MarshalAsAttribute, utilizzato per specificare come effettuare il marshalling dei dati tra memoria gestita e non gestita.

 ClasseDescrizione
classe pubblicaAutomationProxyAttributeSpecifica se il marshalling del tipo deve essere eseguito utilizzando il gestore di marshalling di automazione oppure un proxy e uno stub personalizzati.
classe pubblicaBestFitMappingAttributeControlla se i caratteri Unicode vengono convertiti nei caratteri ANSI che più si avvicinano ad essi.
classe pubblicaBStrWrapperEsegue il marshalling dei dati di tipo VT_BSTR dal codice gestito al codice non gestito. Questa classe non può essere ereditata.
classe pubblicaClassInterfaceAttributeIndica il tipo di interfaccia di classe che viene generato per una classe esposta a COM, se viene creata un'interfaccia.
classe pubblicaCoClassAttributeSpecifica l'identificatore di classe di una coclasse importata da una libreria dei tipi.
classe pubblicaComAliasNameAttributeIndica gli alias COM di un tipo campo o parametro.
classe pubblicaComCompatibleVersionAttributeIndica a un client COM che tutte le classi della versione corrente di un assembly sono compatibili con le classi della versione precedente.
classe pubblicaComConversionLossAttributeIndica 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.
classe pubblicaComDefaultInterfaceAttributeSpecifica un'interfaccia predefinita da esporre a COM. Questa classe non può essere ereditata.
classe pubblicaComEventInterfaceAttributeIdentifica l'interfaccia di origine e la classe che implementa i metodi dell'interfaccia eventi che viene generata in caso di importazione di una coclasse da una libreria dei tipi COM.
classe pubblicaCOMExceptionEccezione generata quando un HRESULT non riconosciuto viene restituito da una chiamata a metodo COM.
classe pubblicaComImportAttributeIndica che il tipo con attributi è già stato definito in COM.
classe pubblicaComRegisterFunctionAttributeSpecifica 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.
classe pubblicaComSourceInterfacesAttributeIdentifica un elenco di interfacce esposte come origini di eventi COM per la classe con attributi.
classe pubblicaComUnregisterFunctionAttributeSpecifica 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.
classe pubblicaComVisibleAttributeDetermina l'accesso facilitato a COM di un singolo tipo o membro gestito o di tutti i tipi all'interno di un assembly.
classe pubblicaCriticalHandleRappresenta una classe wrapper per risorse di handle.
classe pubblicaCurrencyWrapperEsegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come VT_CY.
classe pubblicaDefaultCharSetAttributeSpecifica il valore dell'enumerazione CharSet. Questa classe non può essere ereditata.
classe pubblicaDefaultParameterValueAttributeImposta il valore predefinito di un parametro quando chiamato da un linguaggio che supporta i parametri predefiniti. Questa classe non può essere ereditata.
classe pubblicaDispatchWrapperEsegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come VT_DISPATCH.
classe pubblicaDispIdAttributeSpecifica l'ID dispatch (o DISPID) COM di un metodo, di un campo o di una proprietà.
classe pubblicaDllImportAttributeIndica che il metodo con attributi viene esposto da una libreria a collegamento dinamico (DLL) non gestita come punto di ingresso statico.
classe pubblicaErrorWrapperEsegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come VT_ERROR.
classe pubblicaExtensibleClassFactoryConsente la personalizzazione di oggetti gestiti estesi da oggetti non gestiti durante la creazione.
classe pubblicaExternalExceptionIl tipo di eccezione base per tutte le eccezioni di interoperabilità COM e le eccezioni SEH (Structured Exception Handling, gestione strutturata delle eccezioni).
classe pubblicaFieldOffsetAttributeIndica la posizione fisica dei campi all'interno della rappresentazione non gestita di una classe o struttura.
classe pubblicaGuidAttributeFornisce un oggetto System.Guid esplicito quando un GUID automatico non è idoneo.
classe pubblicaHandleCollectorTiene traccia degli handle in attesa e forza una procedura di Garbage Collection quando viene raggiunto il limite specificato.
classe pubblicaIDispatchImplAttributeIndica quale implementazione di IDispatch viene utilizzata da Common Language Runtime quando espone le interfacce duali e dispatch a COM.
classe pubblicaImportedFromTypeLibAttributeIndica che i tipi definiti all'interno di un assembly sono stati definiti in origine in una libreria dei tipi.
classe pubblicaInAttributeIndica che è necessario eseguire il marshalling dei dati dal chiamante al destinatario della chiamata e che non devono essere ritrasmessi al chiamante.
classe pubblicaInterfaceTypeAttributeIndica se un'interfaccia gestita è duale, solo dispatch o solo IUnknown quando è esposta a COM.
classe pubblicaInvalidComObjectExceptionL'eccezione generata quando si utilizza un oggetto COM non valido.
classe pubblicaInvalidOleVariantTypeExceptionL'eccezione generata dal gestore di marshalling quando rileva un argomento di un tipo Variant del quale non è possibile eseguire il marshalling nel codice gestito.
classe pubblicaLCIDConversionAttributeIndica che la firma non gestita di un metodo prevede un parametro di ID impostazioni internazionali (LCID).
classe pubblicaMarshalOffre un insieme di metodi per l'allocazione della memoria non gestita, la copia di blocchi di memoria non gestiti e la conversione di tipi gestiti in tipi non gestiti, oltre ad altri metodi utilizzati durante l'interazione con il codice non gestito.
classe pubblicaMarshalAsAttributeIndica come deve essere eseguito il marshalling dei dati tra codice gestito e non gestito.
classe pubblicaMarshalDirectiveExceptionEccezione generata dal gestore di marshalling quando viene individuato un oggetto MarshalAsAttribute non supportato.
classe pubblicaOptionalAttributeIndica che un parametro è facoltativo.
classe pubblicaOutAttributeIndica che è necessario eseguire il marshalling dei dati dal destinatario della chiamata al chiamante.
classe pubblicaPreserveSigAttributeIndica che la trasformazione della firma di HRESULT o di retval eseguita durante le chiamate Interop di COM, deve essere evitata.
classe pubblicaPrimaryInteropAssemblyAttributeIndica che l'assembly con attributi è un assembly di interoperabilità primario.
classe pubblicaProgIdAttributeConsente all'utente di specificare il ProgID di una classe.
classe pubblicaRegistrationServicesFornisce un insieme di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti per l'utilizzo in COM.
classe pubblicaRuntimeEnvironmentFornisce un insieme di metodi static che restituiscono informazioni sull'ambiente Common Language Runtime.
classe pubblicaSafeArrayRankMismatchExceptionEccezione generata quando il numero di dimensioni di un SAFEARRAY in entrata non corrisponde al numero di dimensioni specificato nella firma gestita.
classe pubblicaSafeArrayTypeMismatchExceptionEccezione generata quando il tipo di SAFEARRAY in entrata non corrisponde al tipo specificato nella firma gestita.
classe pubblicaSafeHandleRappresenta una classe wrapper per gli handle del sistema operativo.
classe pubblicaSEHExceptionRappresenta gli errori SEH (Structured Exception Handler, gestione delle eccezioni strutturata).
classe pubblicaSetWin32ContextInIDispatchAttributeQuesto attributo è obsoleto.
classe pubblicaStandardOleMarshalObjectSostituisce il gestore del marshalling con modello di threading Free CLR (Common Language Runtime) con il gestore del marshalling OLE STA.
classe pubblicaStructLayoutAttributeLa classe StructLayoutAttribute consente all'utente di controllare il layout fisico dei campi dati di una classe o una struttura.
classe pubblicaTypeLibConverterFornisce un insieme di servizi che convertono un assembly gestito in una libreria dei tipi COM e viceversa.
classe pubblicaTypeLibFuncAttributeContiene l'oggetto FUNCFLAGS originariamente importato per questo metodo dalla libreria dei tipi COM.
classe pubblicaTypeLibImportClassAttributeSpecifica quale oggetto Type utilizza in modo esclusivo un'interfaccia. Questa classe non può essere ereditata.
classe pubblicaTypeLibTypeAttributeContiene l'oggetto TYPEFLAGS originariamente importato per questo tipo dalla libreria dei tipi COM.
classe pubblicaTypeLibVarAttributeContiene l'oggetto VARFLAGS originariamente importato per questo campo dalla libreria dei tipi COM.
classe pubblicaTypeLibVersionAttributeSpecifica il numero della versione di una libreria dei tipi esportata.
classe pubblicaUnknownWrapperEsegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come VT_UNKNOWN.
classe pubblicaUnmanagedFunctionPointerAttributeControlla il comportamento di marshalling di una firma del delegato passata come puntatore a funzione non gestito a o da codice non gestito. Questa classe non può essere ereditata.
classe pubblicaVariantWrapperEsegue il marshalling dei dati di tipo VT_VARIANT | VT_BYREF dal codice gestito al codice non gestito. Questa classe non può essere ereditata.

 InterfacciaDescrizione
interfaccia pubblica_ActivatorEspone la classe System.Activator a codice non gestito.
interfaccia pubblica_AssemblyEspone i membri pubblici della classe System.Reflection.Assembly a codice non gestito.
interfaccia pubblica_AssemblyBuilderEspone la classe System.Reflection.Emit.AssemblyBuilder a codice non gestito.
interfaccia pubblica_AssemblyNameEspone la classe AssemblyName a codice non gestito.
interfaccia pubblica_AttributeEspone la classe System.Attribute a codice non gestito.
interfaccia pubblica_ConstructorBuilderEspone la classe System.Reflection.Emit.ConstructorBuilder a codice non gestito.
interfaccia pubblica_ConstructorInfoEspone i membri pubblici della classe System.Reflection.ConstructorInfo a codice non gestito.
interfaccia pubblica_CustomAttributeBuilderEspone la classe System.Reflection.Emit.CustomAttributeBuilder a codice non gestito.
interfaccia pubblica_EnumBuilderEspone la classe System.Reflection.Emit.EnumBuilder a codice non gestito.
interfaccia pubblica_EventBuilderEspone la classe System.Reflection.Emit.EventBuilder nel codice non gestito.
interfaccia pubblica_EventInfoEspone i membri pubblici della classe System.Reflection.EventInfo a codice non gestito.
interfaccia pubblica_ExceptionEspone i membri pubblici della classe System.Exception a codice non gestito.
interfaccia pubblica_FieldBuilderEspone la classe System.Reflection.Emit.FieldBuilder a codice non gestito.
interfaccia pubblica_FieldInfoEspone i membri pubblici della classe System.Reflection.FieldInfo a codice non gestito.
interfaccia pubblica_ILGeneratorEspone la classe System.Reflection.Emit.ILGenerator a codice non gestito.
interfaccia pubblica_LocalBuilderEspone la classe System.Reflection.Emit.LocalBuilder nel codice non gestito.
interfaccia pubblica_MemberInfoEspone i membri pubblici della classe System.Reflection.MemberInfo a codice non gestito.
interfaccia pubblica_MethodBaseEspone i membri pubblici della classe System.Reflection.MethodBase a codice non gestito.
interfaccia pubblica_MethodBuilderEspone la classe MethodBuilder a codice non gestito.
interfaccia pubblica_MethodInfoEspone i membri pubblici della classe System.Reflection.MethodInfo a codice non gestito.
interfaccia pubblica_MethodRentalEspone la classe System.Reflection.Emit.MethodRental a codice non gestito.
interfaccia pubblica_ModuleEspone la classe Module nel codice non gestito.
interfaccia pubblica_ModuleBuilderEspone la classe System.Reflection.Emit.ModuleBuilder a codice non gestito.
interfaccia pubblica_ParameterBuilderEspone la classe System.Reflection.Emit.ParameterBuilder a codice non gestito.
interfaccia pubblica_ParameterInfoEspone la classe System.Reflection.ParameterInfo nel codice non gestito.
interfaccia pubblica_PropertyBuilderEspone la classe System.Reflection.Emit.PropertyBuilder a codice non gestito.
interfaccia pubblica_PropertyInfoEspone i membri pubblici della classe System.Reflection.PropertyInfo a codice non gestito.
interfaccia pubblica_SignatureHelperEspone la classe System.Reflection.Emit.SignatureHelper a codice non gestito.
interfaccia pubblica_ThreadEspone la classe System.Threading.Thread nel codice non gestito.
interfaccia pubblica_TypeEspone i membri pubblici dell'oggettoSystem.Type a codice non gestito.
interfaccia pubblica_TypeBuilderEspone la classe System.Reflection.Emit.TypeBuilder nel codice non gestito.
interfaccia pubblicaICustomAdapterFornisce ai client un modo per accedere all'oggetto vero e proprio, anziché all'oggetto adattatore distribuito da un gestore di marshalling personalizzato.
interfaccia pubblicaICustomFactoryConsente agli utenti di scrivere il codice di attivazione per gli oggetti gestiti che estendono MarshalByRefObject.
interfaccia pubblicaICustomMarshalerProgettato per fornire wrapper personalizzati per la gestione delle chiamate a metodi.
interfaccia pubblicaIRegistrationServicesFornisce un insieme di servizi per la registrazione e l'annullamento della registrazione di assembly gestiti da utilizzare da COM.
interfaccia pubblicaITypeLibConverterFornisce un insieme di servizi che convertono un assembly gestito in una libreria dei tipi COM e viceversa.
interfaccia pubblicaITypeLibExporterNameProviderConsente di controllare la combinazione di maiuscole e minuscole nei nomi per l'esportazione in una libreria dei tipi.
interfaccia pubblicaITypeLibExporterNotifySinkFornisce un meccanismo di callback per il convertitore dell'assembly, per informare il chiamante dello stato della conversione e coinvolgerlo nel processo di conversione.
interfaccia pubblicaITypeLibImporterNotifySinkFornisce 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.
interfaccia pubblicaUCOMIBindCtxUtilizzare invece la proprietà BIND_OPTS.
interfaccia pubblicaUCOMIConnectionPointUtilizzare invece la proprietà IConnectionPoint.
interfaccia pubblicaUCOMIConnectionPointContainerUtilizzare invece la proprietà IConnectionPointContainer.
interfaccia pubblicaUCOMIEnumConnectionPointsUtilizzare invece la proprietà IEnumConnectionPoints.
interfaccia pubblicaUCOMIEnumConnectionsUtilizzare invece la proprietà IEnumConnections.
interfaccia pubblicaUCOMIEnumMonikerUtilizzare invece la proprietà IEnumMoniker.
interfaccia pubblicaUCOMIEnumStringUtilizzare invece la proprietà IEnumString.
interfaccia pubblicaUCOMIEnumVARIANTUtilizzare invece la proprietà IEnumVARIANT.
interfaccia pubblicaUCOMIMonikerUtilizzare invece la proprietà IMoniker.
interfaccia pubblicaUCOMIPersistFileNota: questa interfaccia è attualmente obsoleta. Utilizzare invece la proprietà IPersistFile.
interfaccia pubblicaUCOMIRunningObjectTableUtilizzare invece la proprietà IRunningObjectTable.
interfaccia pubblicaUCOMIStreamUtilizzare invece la proprietà IStream.
interfaccia pubblicaUCOMITypeCompUtilizzare invece la proprietà ITypeComp.
interfaccia pubblicaUCOMITypeInfoUtilizzare invece la proprietà ITypeInfo.
interfaccia pubblicaUCOMITypeLibUtilizzare invece la proprietà ITypeLib.

 StrutturaDescrizione
struttura pubblicaArrayWithOffsetIncapsula una matrice e un offset all'interno della matrice specificata.
struttura pubblicaBIND_OPTSUtilizzare invece la proprietà BIND_OPTS.
struttura pubblicaBINDPTRUtilizzare invece la proprietà BINDPTR.
struttura pubblicaCONNECTDATAUtilizzare invece la proprietà CONNECTDATA.
struttura pubblicaDISPPARAMSUtilizzare invece la proprietà DISPPARAMS.
struttura pubblicaELEMDESCUtilizzare invece la proprietà ELEMDESC.
struttura pubblicaELEMDESC.DESCUNIONUtilizzare invece la proprietà ELEMDESC.DESCUNION.
struttura pubblicaEXCEPINFOUtilizzare invece la proprietà EXCEPINFO.
struttura pubblicaFILETIMEUtilizzare invece la proprietà FILETIME.
struttura pubblicaFUNCDESCUtilizzare invece la proprietà FUNCDESC.
struttura pubblicaGCHandleFornisce un mezzo per accedere a un oggetto gestito da una memoria non gestita.
struttura pubblicaHandleRefEsegue il wrapping di un oggetto gestito che contiene un handle a una risorsa passata a un codice non gestito attraverso il richiamo piattaforma.
struttura pubblicaIDLDESCUtilizzare invece la proprietà IDLDESC.
struttura pubblicaPARAMDESCUtilizzare invece la proprietà PARAMDESC.
struttura pubblicaSTATSTGUtilizzare invece la proprietà STATSTG.
struttura pubblicaTYPEATTRUtilizzare invece la proprietà TYPEATTR.
struttura pubblicaTYPEDESCUtilizzare invece la proprietà TYPEDESC.
struttura pubblicaTYPELIBATTRUtilizzare invece la proprietà TYPELIBATTR.
struttura pubblicaVARDESCUtilizzare invece la proprietà VARDESC.
struttura pubblicaVARDESC.DESCUNIONNota: questa struttura è obsoleta. Utilizzare invece la proprietà VARDESC.DESCUNION.

 DelegatoDescrizione
delegato pubblicoObjectCreationDelegateCrea un oggetto COM.

 EnumerazioneDescrizione
enumerazione pubblicaAssemblyRegistrationFlagsDefinisce un gruppo di flag utilizzati nella registrazione di assembly.
enumerazione pubblicaCALLCONVUtilizzare invece la proprietà CALLCONV.
enumerazione pubblicaCallingConventionSpecifica la convenzione di chiamata necessaria per chiamare i metodi implementati nel codice non gestito.
enumerazione pubblicaCharSetStabilisce quali stringhe di set di caratteri di cui è stato effettuato il marshalling devono essere utilizzate.
enumerazione pubblicaClassInterfaceTypeIdentifica il tipo di interfaccia di classe generata per una classe.
enumerazione pubblicaComInterfaceTypeIdentifica come esporre un'interfaccia a COM.
enumerazione pubblicaComMemberTypeDescrive il tipo di un membro COM.
enumerazione pubblicaDESCKINDUtilizzare invece la proprietà DESCKIND.
enumerazione pubblicaExporterEventKindDescrive i callback eseguiti dall'utilità di esportazione della libreria dei tipi durante un'esportazione.
enumerazione pubblicaFUNCFLAGSUtilizzare invece la proprietà FUNCFLAGS.
enumerazione pubblicaFUNCKINDUtilizzare invece la proprietà FUNCKIND.
enumerazione pubblicaGCHandleTypeRappresenta i tipi di handle che la classe GCHandle può allocare.
enumerazione pubblicaIDispatchImplTypeIndica quale implementazione di IDispatch utilizzare per una determinata classe.
enumerazione pubblicaIDLFLAGUtilizzare invece la proprietà IDLFLAG.
enumerazione pubblicaIMPLTYPEFLAGSUtilizzare invece la proprietà IMPLTYPEFLAGS.
enumerazione pubblicaImporterEventKindDescrive i callback eseguiti dall'utilità di importazione della libreria dei tipi durante un'importazione.
enumerazione pubblicaINVOKEKINDUtilizzare invece la proprietà INVOKEKIND.
enumerazione pubblicaLayoutKindControlla il layout di un oggetto durante l'esportazione in codice non gestito.
enumerazione pubblicaLIBFLAGSUtilizzare invece la proprietà LIBFLAGS.
enumerazione pubblicaPARAMFLAGUtilizzare invece la proprietà PARAMFLAG.
enumerazione pubblicaRegistrationClassContextSpecifica l'insieme di contesti di esecuzione in cui un oggetto classe verrà reso disponibile per richieste di creazione di istanze.
enumerazione pubblicaRegistrationConnectionTypeDefinisce i tipi di connessioni a un oggetto classe.
enumerazione pubblicaSYSKINDUtilizzare invece la proprietà SYSKIND.
enumerazione pubblicaTYPEFLAGSUtilizzare invece la proprietà TYPEFLAGS.
enumerazione pubblicaTYPEKINDUtilizzare invece la proprietà TYPEKIND.
enumerazione pubblicaTypeLibExporterFlagsIndica le modalità di produzione di una libreria dei tipi.
enumerazione pubblicaTypeLibFuncFlagsDescrive le impostazioni originali dell'oggetto FUNCFLAGS nella libreria dei tipi COM dalla quale questo metodo è stato importato.
enumerazione pubblicaTypeLibImporterFlagsIndica le modalità di produzione di un assembly.
enumerazione pubblicaTypeLibTypeFlagsDescrive le impostazioni originali dell'oggetto TYPEFLAGS nella libreria dei tipi COM dalla quale il tipo è stato importato.
enumerazione pubblicaTypeLibVarFlagsDescrive le impostazioni originali dell'oggetto VARFLAGS nella libreria dei tipi COM dalla quale la variabile è stata importata.
enumerazione pubblicaUnmanagedTypeIdentifica come effettuare il marshalling di parametri o campi nel codice gestito.
enumerazione pubblicaVarEnumIndica 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 UnmanagedType.SafeArray.
enumerazione pubblicaVARFLAGSUtilizzare invece la proprietà VARFLAGS.
Mostra: