System.Runtime.InteropServices Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una amplia variedad de miembros compatibles con la interoperabilidad COM y los servicios de invocación de plataforma. Si no está familiarizado con estos servicios, vea Interoperating with Unmanaged Code (Interoperar con código no administrado).
Clases
AllowReversePInvokeCallsAttribute |
Permite que un método no administrado llame a un método administrado. |
AutomationProxyAttribute |
Especifica si el tipo debe serializarse mediante el contador de referencias de Automation o un proxy personalizado y código auxiliar. |
BestFitMappingAttribute |
Controla si los caracteres Unicode se convierten en los caracteres ANSI coincidentes más cercanos. |
BStrWrapper |
Calcula las referencias de datos de tipo |
ClassInterfaceAttribute |
Indica el tipo de interfaz de clase que se generará para una clase expuesta a COM si no se genera una interfaz. |
CoClassAttribute |
Especifica el identificador de clase de una coclase importada de una biblioteca de tipos. |
CollectionsMarshal |
Clase no segura que proporciona un conjunto de métodos para acceder a las representaciones de datos subyacentes de las colecciones. |
ComAliasNameAttribute |
Indica el alias COM de un parámetro o tipo de campo. |
ComAwareEventInfo |
Permite el registro enlazado en tiempo de ejecución de un controlador de eventos. |
ComCompatibleVersionAttribute |
Indica a un cliente COM que todas las clases de la versión actual de un ensamblado son compatibles con las clases de una versión anterior del ensamblado. |
ComConversionLossAttribute |
Indica que se perdió información de una clase o interfaz al importarla desde una biblioteca de tipos a un ensamblado. |
ComDefaultInterfaceAttribute |
Especifica una interfaz predeterminada que se va a exponer a COM. Esta clase no puede heredarse. |
ComEventInterfaceAttribute |
Identifica la interfaz de origen y la clase que implementa los métodos de la interfaz de evento que se genera cuando se importa una coclase de una biblioteca de tipos COM. |
ComEventsHelper |
Proporciona métodos que permiten agregar y eliminar los delegados de .NET que controlan los eventos de los objetos COM. |
COMException |
Excepción que se produce cuando una llamada al método COM devuelve un resultado HRESULT desconocido. |
ComImportAttribute |
Indica que el tipo con atributos estaba previamente definido en COM. |
ComRegisterFunctionAttribute |
Especifica el método al que se debe llamar cuando se registre un ensamblado para utilizarlo desde COM; de esta manera, se permite la ejecución de código escrito por el usuario durante el proceso de registro. |
ComSourceInterfacesAttribute |
Identifica una lista de interfaces que se exponen como orígenes de eventos COM para la clase con atributos. |
ComUnregisterFunctionAttribute |
Especifica el método al que se debe llamar cuando se anula el registro de un ensamblado para utilizarlo desde COM; de esta manera, se permite la ejecución de código escrito por el usuario durante el proceso de anulación del registro. |
ComVisibleAttribute |
Controla la accesibilidad a COM de un tipo o miembro administrado individual, o de todos los tipos que están dentro de un ensamblado. |
ComWrappers |
Clase para administrar controladores de tipos IUnknown COM. |
CriticalHandle |
Representa una clase contenedora para los recursos de controlador. |
CurrencyWrapper |
Encapsula los objetos cuyas referencias se van a calcular como |
DefaultCharSetAttribute |
Especifica el valor de la enumeración CharSet. Esta clase no puede heredarse. |
DefaultDllImportSearchPathsAttribute |
Especifica las rutas de acceso que se usan para buscar archivos DLL que proporcionan funciones para las invocaciones de plataforma. |
DefaultParameterValueAttribute |
Establece el valor predeterminado de un parámetro cuando se le llama desde un lenguaje que admite parámetros predeterminados. Esta clase no puede heredarse. |
DispatchWrapper |
Encapsula los objetos cuyas referencias se van a calcular como |
DispIdAttribute |
Especifica el identificador de envío (DISPID) de COM de un método, un campo o una propiedad. |
DllImportAttribute |
Indica que una biblioteca de vínculos dinámicos (DLL) no administrada expone el método con atributos como un punto de entrada estático. |
DynamicInterfaceCastableImplementationAttribute |
Atributo requerido por cualquier tipo que GetInterfaceImplementation(RuntimeTypeHandle) devuelva. |
ErrorWrapper |
Encapsula los objetos cuyas referencias se van a calcular como |
ExtensibleClassFactory |
Permite personalizar objetos administrados que se extienden a partir de objetos no administrados durante su creación. |
ExternalException |
Tipo de excepción base para todas las excepciones de interoperabilidad COM y excepciones SEH (structured exception handling, control estructurado de excepciones). |
FieldOffsetAttribute |
Indica la posición física de los campos dentro de la representación no administrada de una clase o estructura. |
GuidAttribute |
Suministra un objeto Guid explícitamente cuando no se desea que se genere un GUID automáticamente. |
HandleCollector |
Realiza un seguimiento de los controladores pendientes y fuerza una recolección de elementos no utilizados cuando se alcanza el umbral especificado. |
IDispatchImplAttribute |
Indica qué implementación de |
ImportedFromTypeLibAttribute |
Indica que los tipos definidos en un ensamblado se definieron originalmente en una biblioteca de tipos. |
InAttribute |
Indica que se debe hacer un cálculo de referencias de los datos desde el llamador al destinatario de la llamada, pero no de vuelta al llamador. |
InterfaceTypeAttribute |
Indica si una interfaz administrada es dual, de sólo distribución o sólo |
InvalidComObjectException |
Excepción que se produce al utilizar un objeto COM no válido. |
InvalidOleVariantTypeException |
Excepción que produce el contador de referencias cuando encuentra un argumento de un tipo de variante cuyas referencias no se pueden calcular para un código administrado. |
LCIDConversionAttribute |
Indica que la firma no administrada de un método espera un parámetro de identificador de configuración regional (LCID). |
LibraryImportAttribute |
Indica que un generador de origen debe crear una función para serializar argumentos en lugar de confiar en el tiempo de ejecución para generar una función de serialización equivalente en tiempo de ejecución. |
ManagedToNativeComInteropStubAttribute |
Proporciona compatibilidad con la personalización del usuario de código auxiliar de interoperabilidad en escenarios de administrado a interoperabilidad COM. |
Marshal |
Proporciona una colección de métodos para asignar memoria no administrada, copiar bloques de memoria no administrados y convertir los tipos administrados en no administrados, así como otros métodos diversos que se utilizan al interactuar con código no administrado. |
MarshalAsAttribute |
Indica cómo calcular las referencias de los datos entre el código administrado y el código no administrado. |
MarshalDirectiveException |
La excepción que produce el contador de referencias cuando encuentra un atributo MarshalAsAttribute que no admite. |
MemoryMarshal |
Proporciona métodos para interoperar con Memory<T>, ReadOnlyMemory<T>, Span<T>y ReadOnlySpan<T>. |
NativeLibrary |
Proporciona las API para administrar bibliotecas nativas. |
NativeMemory |
Esta clase contiene métodos que se usan principalmente para administrar la memoria nativa. |
OptionalAttribute |
Indica que un parámetro es opcional. |
OutAttribute |
Indica que las referencias de los datos se deben calcular desde el destinatario de la llamada al llamador. |
PosixSignalContext |
Proporciona datos para un PosixSignalRegistration evento. |
PosixSignalRegistration |
Controla un PosixSignalobjeto . |
PreserveSigAttribute |
Indica que se debe suprimir la transformación de firma HRESULT que tiene lugar durante las llamadas de interoperabilidad COM. |
PrimaryInteropAssemblyAttribute |
Indica que el ensamblado con atributo es un ensamblado de interoperabilidad primario. |
ProgIdAttribute |
Permite que el usuario especifique el identificador de programa (ProgID) de una clase. |
RegistrationServices |
Proporciona un conjunto de servicios para registrar y anular el registro de ensamblados administrados para utilizarlos desde COM. |
RuntimeEnvironment |
Proporciona una colección de métodos |
RuntimeInformation |
Proporciona información sobre la instalación en tiempo de ejecución de .NET. |
SafeArrayRankMismatchException |
Excepción que se produce cuando el rango de una matriz |
SafeArrayTypeMismatchException |
Excepción que se produce cuando el tipo de una matriz |
SafeBuffer |
Proporciona un búfer de memoria controlado que se puede usar para leer y escribir. Los intentos para acceder a la memoria fuera del búfer controlado (agotamientos y saturaciones) provocan excepciones. |
SafeHandle |
Representa una clase contenedora para los identificadores del sistema operativo. Se debe heredar esta clase. |
SEHException |
Representa errores de Control de excepciones estructurado (SEH). |
SequenceMarshal |
Proporciona una colección de métodos para interoperar con ReadOnlySequence<T>. |
SetWin32ContextInIDispatchAttribute |
Este atributo está obsoleto. |
StandardOleMarshalObject |
Reemplaza el contador de referencias de subprocesamiento libre de Common Language Runtime (CLR) con el contador de referencias OLE STA estándar. |
StructLayoutAttribute |
Le permite controlar el diseño físico de los campos de datos de una clase o una estructura en la memoria. |
SuppressGCTransitionAttribute |
Permite indicar que se debe evitar una transición de recolección de elementos no utilizados cuando se realiza una llamada de función no administrada. |
TypeIdentifierAttribute |
Proporciona compatibilidad para la equivalencia de tipos. |
TypeLibConverter |
Proporciona un conjunto de servicios que convierten un ensamblado administrado en una biblioteca de tipos COM y viceversa. |
TypeLibFuncAttribute |
Contiene la enumeración FUNCFLAGS que se importó originalmente para este método desde la biblioteca de tipos COM. |
TypeLibImportClassAttribute |
Especifica qué objeto Type utiliza de modo exclusivo una interfaz. Esta clase no puede heredarse. |
TypeLibTypeAttribute |
Contiene TYPEFLAGS que se importó originalmente para este tipo desde la biblioteca de tipos COM. |
TypeLibVarAttribute |
Contiene VARFLAGS que se importó originalmente para este campo desde la biblioteca de tipos COM. |
TypeLibVersionAttribute |
Especifica el número de versión de una biblioteca de tipos exportada. |
UnknownWrapper |
Encapsula los objetos cuyas referencias se van a calcular como |
UnmanagedCallConvAttribute |
Proporciona un equivalente a para UnmanagedCallersOnlyAttribute las funciones nativas declaradas en .NET. |
UnmanagedCallersOnlyAttribute |
Se puede llamar directamente a cualquier método marcado con UnmanagedCallersOnlyAttribute desde código nativo. El token de función se puede cargar en una variable local mediante el operador address-of en C# y pasarse como devolución de llamada a un método nativo. |
UnmanagedFunctionPointerAttribute |
Controla el comportamiento del cálculo de referencias de una firma de delegado que se pasa como un puntero de función no administrada a o desde código no administrado. Esta clase no puede heredarse. |
VariantWrapper |
Calcula las referencias de datos de tipo |
Estructuras
ArrayWithOffset |
Encapsula una matriz y un desplazamiento dentro de la matriz especificada. |
BIND_OPTS |
Utilice BIND_OPTS en su lugar. |
BINDPTR |
Utilice BINDPTR en su lugar. |
CLong |
CLong es un tipo de valor inmutable que representa el |
ComWrappers.ComInterfaceDispatch |
Interfaz binaria de una aplicación para distribuir funciones de una interfaz COM. |
ComWrappers.ComInterfaceEntry |
Tipo de interfaz y puntero que dirige al objeto VTable de destino. |
CONNECTDATA |
En su lugar, use CONNECTDATA. |
CULong |
CULong es un tipo de valor inmutable que representa el |
DISPPARAMS |
En su lugar, use DISPPARAMS. |
ELEMDESC |
Utilice ELEMDESC en su lugar. |
ELEMDESC.DESCUNION |
Utilice ELEMDESC.DESCUNION en su lugar. |
EXCEPINFO |
En su lugar, use EXCEPINFO. |
FILETIME |
Utilice FILETIME en su lugar. |
FUNCDESC |
Utilice FUNCDESC en su lugar. |
GCHandle |
Proporciona una forma de obtener acceso a un objeto administrado desde la memoria no administrada. |
HandleRef |
Encapsula un objeto administrado que contiene un identificador de un recurso que se pasa a código no administrado mediante la invocación de la plataforma. |
IDLDESC |
Utilice IDLDESC en su lugar. |
NFloat |
NFloat es un tipo de valor inmutable que representa un tipo flotante que tiene el mismo tamaño que el tamaño entero nativo.
Está pensado para usarse como un tipo de intercambio en el límite administrado o no administrado para representar con precisión en las API no administradas de código administrado que usan un alias de tipo para C o C++ |
OSPlatform |
Representa una plataforma de sistema operativo. |
PARAMDESC |
Utilice PARAMDESC en su lugar. |
STATSTG |
En su lugar, use STATSTG. |
TYPEATTR |
Utilice TYPEATTR en su lugar. |
TYPEDESC |
Utilice TYPEDESC en su lugar. |
TYPELIBATTR |
Utilice TYPELIBATTR en su lugar. |
VARDESC |
Utilice VARDESC en su lugar. |
VARDESC.DESCUNION |
Utilice VARDESC.DESCUNION en su lugar. |
Interfaces
_Activator |
Expone la clase Activator a código no administrado. |
_Assembly |
Expone los miembros públicos de la clase Assembly a código no administrado. |
_AssemblyBuilder |
Expone la clase AssemblyBuilder a código no administrado. |
_AssemblyName |
Expone la clase AssemblyName a código no administrado. |
_Attribute |
Expone la clase Attribute a código no administrado. |
_ConstructorBuilder |
Expone la clase ConstructorBuilder a código no administrado. |
_ConstructorInfo |
Expone los miembros públicos de la clase ConstructorInfo a código no administrado. |
_CustomAttributeBuilder |
Expone la clase CustomAttributeBuilder a código no administrado. |
_EnumBuilder |
Expone la clase EnumBuilder a código no administrado. |
_EventBuilder |
Expone la clase EventBuilder a código no administrado. |
_EventInfo |
Expone los miembros públicos de la clase EventInfo a código no administrado. |
_Exception |
Expone los miembros públicos de la clase Exception a código no administrado. |
_FieldBuilder |
Expone la clase FieldBuilder a código no administrado. |
_FieldInfo |
Expone los miembros públicos de la clase FieldInfo a código no administrado. |
_ILGenerator |
Expone la clase ILGenerator a código no administrado. |
_LocalBuilder |
Expone la clase LocalBuilder a código no administrado. |
_MemberInfo |
Expone los miembros públicos de la clase MemberInfo a código no administrado. |
_MethodBase |
Expone los miembros públicos de la clase MethodBase a código no administrado. |
_MethodBuilder |
Expone la clase MethodBuilder a código no administrado. |
_MethodInfo |
Expone los miembros públicos de la clase MethodInfo a código no administrado. |
_MethodRental |
Expone la clase MethodRental a código no administrado. |
_Module |
Expone la clase Module a código no administrado. |
_ModuleBuilder |
Expone la clase ModuleBuilder a código no administrado. |
_ParameterBuilder |
Expone la clase ParameterBuilder a código no administrado. |
_ParameterInfo |
Expone la clase ParameterInfo a código no administrado. |
_PropertyBuilder |
Expone la clase PropertyBuilder a código no administrado. |
_PropertyInfo |
Expone los miembros públicos de la clase PropertyInfo a código no administrado. |
_SignatureHelper |
Expone la clase SignatureHelper a código no administrado. |
_Thread |
Expone la clase Thread a código no administrado. |
_Type |
Expone los miembros públicos de la clase Type al código no administrado. |
_TypeBuilder |
Expone la clase TypeBuilder a código no administrado. |
ICustomAdapter |
Proporciona una manera de que los clientes accedan al objeto real, en lugar de ofrecer el objeto adaptador que proporciona el contador de referencias. |
ICustomFactory |
Permite que los usuarios escriban código de activación para objetos administrados que extiendan MarshalByRefObject. |
ICustomMarshaler |
Proporciona contenedores personalizados para controlar las llamadas a métodos. |
ICustomQueryInterface |
Permite a los programadores proporcionar una implementación personalizada y administrada del método IUnknown::QueryInterface(REFIID riid, void **ppvObject). |
IDynamicInterfaceCastable |
Interfaz que se usa para participar en un error de conversión de tipos. |
IRegistrationServices |
Proporciona un conjunto de servicios para registrar y anular el registro de ensamblados administrados para utilizarlos desde COM. |
ITypeLibConverter |
Proporciona un conjunto de servicios que convierten un ensamblado administrado en una biblioteca de tipos COM y viceversa. |
ITypeLibExporterNameProvider |
Proporciona control sobre la distinción entre mayúsculas y minúsculas en los nombres que se exportan a una biblioteca de tipos. |
ITypeLibExporterNotifySink |
Proporciona un mecanismo de devolución de llamada para que el convertidor de ensamblados informe al llamador del estado de la conversión, e implicar así al llamador en el proceso de conversión. |
ITypeLibImporterNotifySink |
Proporciona un mecanismo de devolución de llamada para que el convertidor de bibliotecas de tipos informe al llamador del estado de la conversión, e implicar así al llamador en el proceso de conversión. |
UCOMIBindCtx |
Utilice BIND_OPTS en su lugar. |
UCOMIConnectionPoint |
Utilice IConnectionPoint en su lugar. |
UCOMIConnectionPointContainer |
Utilice IConnectionPointContainer en su lugar. |
UCOMIEnumConnectionPoints |
Utilice IEnumConnectionPoints en su lugar. |
UCOMIEnumConnections |
Utilice IEnumConnections en su lugar. |
UCOMIEnumMoniker |
Utilice IEnumMoniker en su lugar. |
UCOMIEnumString |
Utilice IEnumString en su lugar. |
UCOMIEnumVARIANT |
Utilice IEnumVARIANT en su lugar. |
UCOMIMoniker |
Utilice IMoniker en su lugar. |
UCOMIPersistFile |
Utilice IPersistFile en su lugar. |
UCOMIRunningObjectTable |
Utilice IRunningObjectTable en su lugar. |
UCOMIStream |
Utilice IStream en su lugar. |
UCOMITypeComp |
Utilice ITypeComp en su lugar. |
UCOMITypeInfo |
Utilice ITypeInfo en su lugar. |
UCOMITypeLib |
Utilice ITypeLib en su lugar. |
Enumeraciones
Architecture |
Indica que la arquitectura de procesador. |
AssemblyRegistrationFlags |
Define un conjunto de marcadores que se utiliza al registrar ensamblados. |
CALLCONV |
En su lugar, use CALLCONV. |
CallingConvention |
Especifica la convención de llamada necesaria para llamar a métodos implementados en el código no administrado. |
CharSet |
Indica qué juego de caracteres deben usar las cadenas con referencias calculadas. |
ClassInterfaceType |
Identifica el tipo de interfaz de clase que se genera para una clase. |
ComInterfaceType |
Indica cómo exponer una interfaz a COM. |
ComMemberType |
Describe el tipo de un miembro COM. |
CreateComInterfaceFlags |
Permite especificar marcas para el método GetOrCreateComInterfaceForObject(Object, CreateComInterfaceFlags). |
CreateObjectFlags |
Permite especificar marcas para el método GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags). |
CustomQueryInterfaceMode |
Indica si las llamadas IUnknown::QueryInterface del método GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) pueden utilizar la interfaz ICustomQueryInterface. |
CustomQueryInterfaceResult |
Proporciona valores devueltos para el método GetInterface(Guid, IntPtr). |
DESCKIND |
En su lugar, use DESCKIND. |
DllImportSearchPath |
Especifica las rutas de acceso que se usan para buscar archivos DLL que proporcionan funciones para las invocaciones de plataforma. |
ExporterEventKind |
Describe las devoluciones de llamada que el exportador de la biblioteca de tipos realiza al exportar una biblioteca de tipos. |
FUNCFLAGS |
Utilice FUNCFLAGS en su lugar. |
FUNCKIND |
Utilice FUNCKIND en su lugar. |
GCHandleType |
Representa los tipos de identificadores que el GCHandle tipo puede asignar. |
IDispatchImplType |
Indica qué implementación de |
IDLFLAG |
Utilice IDLFLAG en su lugar. |
IMPLTYPEFLAGS |
En su lugar, use IMPLTYPEFLAGS. |
ImporterEventKind |
Describe las devoluciones de llamada que el Importador de la biblioteca de tipos realizó al importar una biblioteca de tipos. |
INVOKEKIND |
En su lugar, use INVOKEKIND. |
LayoutKind |
Controla el diseño de un objeto cuando se lo exporta a un código no administrado. |
LIBFLAGS |
En su lugar, use LIBFLAGS. |
PARAMFLAG |
Utilice PARAMFLAG en su lugar. |
PosixSignal |
Especifica un número de señal POSIX. |
RegistrationClassContext |
Especifica el conjunto de contextos de ejecución en los que un objeto de clase se pondrá a disposición para peticiones de construcción de instancias. |
RegistrationConnectionType |
Define los tipos de conexiones con un objeto de clase. |
StringMarshalling |
Especifica cómo se deben serializar las cadenas para las p/invoke generadas. |
SYSKIND |
Utilice SYSKIND en su lugar. |
TYPEFLAGS |
Utilice TYPEFLAGS en su lugar. |
TYPEKIND |
Utilice TYPEKIND en su lugar. |
TypeLibExporterFlags |
Indica cómo se debe crear una biblioteca de tipos. |
TypeLibFuncFlags |
Describe la configuración original de |
TypeLibImporterFlags |
Indica cómo se debe crear un ensamblado. |
TypeLibTypeFlags |
Describe la configuración original de TYPEFLAGS en la biblioteca de tipos COM desde la que se importó el tipo. |
TypeLibVarFlags |
Describe la configuración original de VARFLAGS en la biblioteca de tipos COM desde la que se importó la variable. |
UnmanagedType |
Identifica la forma de calcular las referencias de parámetros o campos en el código no administrado. |
VarEnum |
Indica cómo calcular las referencias de los elementos de matriz cuando se calculan las referencias de matriz de código administrado a código no administrado como SafeArray. |
VARFLAGS |
En su lugar, use VARFLAGS. |
Delegados
DllImportResolver |
Proporciona un delegado que se usa para resolver las bibliotecas nativas a través de la devolución de llamada. |
ObjectCreationDelegate |
Crea un objeto COM. |
Comentarios
Los miembros de este espacio de nombres proporcionan varias categorías de funcionalidad, como se muestra en la tabla siguiente. Los atributos controlan el comportamiento de serialización, como cómo organizar estructuras o cómo representar cadenas. Los atributos más importantes son DllImportAttribute, que se usan para definir métodos de invocación de plataforma para acceder a las API no administradas y MarshalAsAttribute, que se usa para especificar cómo se serializarán los datos entre la memoria administrada y no administrada.