http://msdn.microsoft.com/zh-cn/library/system.runtime.interopservices
与非托管代码交互操作。
MarshalAsAttribute(可以用来指定如何在托管内存与非托管内存之间封送数据)。
| 类 | 说明 | |
|---|---|---|
| AllowReversePInvokeCallsAttribute | 允许非托管方法调用托管方法。 | |
| AutomationProxyAttribute | 指定是否应该使用自动化封送拆收器或自定义代理及存根 (Stub) 对该类型进行封送处理。 | |
|
|
BestFitMappingAttribute | 控制是否将 Unicode 字符转换为最接近的匹配 ANSI 字符。 |
|
|
BStrWrapper | 此类不能被继承。 |
|
|
ClassInterfaceAttribute | 为公开给 COM 的类指定要生成的类接口的类型(如果有接口生成)。 |
|
|
CoClassAttribute | 指定从类型库中导入的 coclass 的类标识符。 |
| ComAliasNameAttribute | 指示参数或字段类型的 COM 别名。 | |
|
|
ComAwareEventInfo | 允许对事件处理程序进行后期绑定注册。 |
| ComCompatibleVersionAttribute | 向 COM 客户端指示程序集当前版本中的所有类与该程序集早期版本中的类兼容。 | |
| ComConversionLossAttribute | 指示从类型库向程序集导入类或接口时丢失了有关信息。 | |
|
|
ComDefaultInterfaceAttribute | 此类不能被继承。 |
|
|
ComEventInterfaceAttribute | 标识源接口和实现事件接口(从 COM 类型库导入 coclass 时生成)的方法的类。 |
|
|
ComEventsHelper | 提供允许将处理事件的 .NET Framework 委托添加到 COM 对象和从 COM 对象中删除这些委托的方法。 |
|
|
COMException | 当从 COM 方法调用返回无法识别的 HRESULT 时引发的异常。 |
|
|
ComImportAttribute | 指示该属性化类型是以前在 COM 中定义的。 |
| ComRegisterFunctionAttribute | 指定在注册程序集以便从 COM 中使用时要调用的方法;这样可以在注册过程中执行用户编写的代码。 | |
|
|
ComSourceInterfacesAttribute | 为属性化类标识公开为 COM 事件源的一组接口。 |
| ComUnregisterFunctionAttribute | 指定当注销用于 COM 的程序集时调用的方法;这可以用于注销过程中用户编写代码的执行。 | |
|
|
ComVisibleAttribute | 控制程序集中个别托管类型、成员或所有类型对 COM 的可访问性。 |
|
|
CriticalHandle | 表示句柄资源的包装类。 |
|
|
CurrencyWrapper | VT_CY 封送的对象进行包装。 |
|
|
DefaultCharSetAttribute | 此类不能被继承。 |
|
|
DefaultDllImportSearchPathsAttribute | 指定用于搜索 DLL 平台提供函数调用的路径。 |
|
|
DefaultParameterValueAttribute | 此类不能被继承。 |
|
|
DispatchWrapper | VT_DISPATCH 封送的对象进行包装。 |
|
|
DispIdAttribute | 指定方法、字段或属性的 COM 调度标识符 (DISPID)。 |
|
|
DllImportAttribute | 指示该属性化方法由非托管动态链接库 (DLL) 作为静态入口点公开。 |
|
|
ErrorWrapper | VT_ERROR 封送的对象进行包装。 |
| ExtensibleClassFactory | 在创建过程中启用从非托管对象扩展的托管对象的自定义。 | |
| ExternalException | 所有 COM 互操作 异常和结构化异常处理 (SEH) 异常的异常基类型。 | |
|
|
FieldOffsetAttribute | 指示字段在类或结构的非托管表示形式内的物理位置。 |
|
|
GuidAttribute | System.Guid。 |
|
|
HandleCollector | 跟踪未处理的句柄,并在达到指定阈值时强制执行垃圾回收。 |
| IDispatchImplAttribute | 已过时。IDispatch 实现。 | |
| ImportedFromTypeLibAttribute | 指示在程序集内定义的类型原来在类型库中定义。 | |
|
|
InAttribute | 指示应将数据从调用方封送到被调用方,而不返回到调用方。 |
|
|
InterfaceTypeAttribute | IUnknown 的。 |
|
|
InvalidComObjectException | 当使用无效的 COM 对象时引发的异常。 |
|
|
InvalidOleVariantTypeException | 封送拆收器在遇到不能封送到托管代码的 Variant 类型的参数时引发的异常。 |
| LCIDConversionAttribute | 指示方法的非托管签名需要区域设置标识符 (LCID) 参数。 | |
|
|
ManagedToNativeComInteropStubAttribute | 为用户在托管与 COM 互操作方案中自定义互操作存根提供支持。 |
|
|
Marshal | 提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法。 |
|
|
MarshalAsAttribute | 指示如何在托管代码和非托管代码之间封送数据。 |
|
|
MarshalDirectiveException | MarshalAsAttribute 时由该封送拆收器引发的异常。 |
|
|
OptionalAttribute | 指示参数是可选的。 |
|
|
OutAttribute | 指示应将数据从被调用方封送回调用方。 |
|
|
PreserveSigAttribute | retval 签名转换。 |
| PrimaryInteropAssemblyAttribute | 指示该特性化的程序集是主 Interop 程序集。 | |
| ProgIdAttribute | 允许用户指定类的 ProgID。 | |
| RegistrationServices | 提供一组用于注册和注销托管程序集以供从 COM 使用的服务。 | |
| RuntimeEnvironment | static 方法的集合。 | |
|
|
SafeArrayRankMismatchException | SAFEARRAY 的秩与托管签名中指定的秩不匹配时引发的异常。 |
|
|
SafeArrayTypeMismatchException | SAFEARRAY 的类型与托管签名中指定的类型不匹配时引发的异常。 |
|
|
SafeBuffer | 尝试访问受控缓冲区(不足和溢出)之外的访问内存将引发异常。 |
|
|
SafeHandle | 必须继承此类。 |
|
|
SEHException | 表示结构化异常处理程序 (SEH) 错误。 |
| SetWin32ContextInIDispatchAttribute | 已过时。此特性已弃用。 | |
| StandardOleMarshalObject | 用标准 OLE STA 封送拆收器替换标准公共语言运行时 (CLR) 自由线程封送拆收器。 | |
|
|
StructLayoutAttribute | 允许您控制类或结构的数据字段的物理布局。 |
|
|
TypeIdentifierAttribute | 提供对类型等效性的支持。 |
| TypeLibConverter | 提供一组服务,将托管程序集转换为 COM 类型库或进行反向转换。 | |
| TypeLibFuncAttribute | FUNCFLAGS。 | |
| TypeLibImportClassAttribute | 此类不能被继承。 | |
| TypeLibTypeAttribute | TYPEFLAGS。 | |
| TypeLibVarAttribute | VARFLAGS。 | |
| TypeLibVersionAttribute | 指定导出类型库的版本号。 | |
|
|
UnknownWrapper | VT_UNKNOWN 封送的对象进行包装。 |
|
|
UnmanagedFunctionPointerAttribute | 此类不能被继承。 |
|
|
VariantWrapper | 此类不能被继承。 |
| 结构 | 说明 | |
|---|---|---|
|
|
ArrayWithOffset | 在指定的数组中封装数组和偏移量。 |
| BIND_OPTS | 已过时。System.Runtime.InteropServices.ComTypes.BIND_OPTS。 | |
| BINDPTR | 已过时。System.Runtime.InteropServices.ComTypes.BINDPTR。 | |
| CONNECTDATA | 已过时。System.Runtime.InteropServices.ComTypes.CONNECTDATA。 | |
| DISPPARAMS | 已过时。System.Runtime.InteropServices.ComTypes.DISPPARAMS。 | |
| ELEMDESC | 已过时。System.Runtime.InteropServices.ComTypes.ELEMDESC。 | |
| ELEMDESC.DESCUNION | System.Runtime.InteropServices.ComTypes.ELEMDESC.DESCUNION。 | |
| EXCEPINFO | 已过时。System.Runtime.InteropServices.ComTypes.EXCEPINFO。 | |
| FILETIME | 已过时。System.Runtime.InteropServices.ComTypes.FILETIME。 | |
| FUNCDESC | 已过时。System.Runtime.InteropServices.ComTypes.FUNCDESC。 | |
|
|
GCHandle | 提供用于从非托管内存访问托管对象的方法。 |
| HandleRef | 包装一个托管对象,该对象保存使用平台 invoke(调用)传递给非托管代码的资源句柄。 | |
| IDLDESC | 已过时。System.Runtime.InteropServices.ComTypes.IDLDESC。 | |
| PARAMDESC | 已过时。System.Runtime.InteropServices.ComTypes.PARAMDESC。 | |
| STATSTG | 已过时。System.Runtime.InteropServices.ComTypes.STATSTG。 | |
| TYPEATTR | 已过时。System.Runtime.InteropServices.ComTypes.TYPEATTR。 | |
| TYPEDESC | 已过时。System.Runtime.InteropServices.ComTypes.TYPEDESC。 | |
| TYPELIBATTR | 已过时。System.Runtime.InteropServices.ComTypes.TYPELIBATTR。 | |
| VARDESC | 已过时。System.Runtime.InteropServices.ComTypes.VARDESC。 | |
| VARDESC.DESCUNION | System.Runtime.InteropServices.ComTypes.VARDESC.DESCUNION。 |
| 接口 | 说明 | |
|---|---|---|
| _Activator | System.Activator 类。 | |
| _Assembly | System.Reflection.Assembly 类的公共成员。 | |
| _AssemblyBuilder | System.Reflection.Emit.AssemblyBuilder 类。 | |
| _AssemblyName | AssemblyName 类。 | |
| _Attribute | System.Attribute 类。 | |
| _ConstructorBuilder | System.Reflection.Emit.ConstructorBuilder 类。 | |
| _ConstructorInfo | System.Reflection.ConstructorInfo 类的公共成员。 | |
| _CustomAttributeBuilder | System.Reflection.Emit.CustomAttributeBuilder 类。 | |
| _EnumBuilder | System.Reflection.Emit.EnumBuilder 类。 | |
| _EventBuilder | System.Reflection.Emit.EventBuilder 类。 | |
| _EventInfo | System.Reflection.EventInfo 类的公共成员。 | |
| _Exception | System.Exception 类的公共成员。 | |
| _FieldBuilder | System.Reflection.Emit.FieldBuilder 类。 | |
| _FieldInfo | System.Reflection.FieldInfo 类的公共成员。 | |
| _ILGenerator | System.Reflection.Emit.ILGenerator 类。 | |
| _LocalBuilder | System.Reflection.Emit.LocalBuilder 类。 | |
| _MemberInfo | System.Reflection.MemberInfo 类的公共成员。 | |
| _MethodBase | System.Reflection.MethodBase 类的公共成员。 | |
| _MethodBuilder | MethodBuilder 类。 | |
| _MethodInfo | System.Reflection.MethodInfo 类的公共成员。 | |
| _MethodRental | System.Reflection.Emit.MethodRental 类。 | |
| _Module | Module 类。 | |
| _ModuleBuilder | System.Reflection.Emit.ModuleBuilder 类。 | |
| _ParameterBuilder | System.Reflection.Emit.ParameterBuilder 类。 | |
| _ParameterInfo | System.Reflection.ParameterInfo 类。 | |
| _PropertyBuilder | System.Reflection.Emit.PropertyBuilder 类。 | |
| _PropertyInfo | System.Reflection.PropertyInfo 类的公共成员。 | |
| _SignatureHelper | System.Reflection.Emit.SignatureHelper 类。 | |
| _Thread | System.Threading.Thread 类。 | |
| _Type | System.Type 类的公共成员。 | |
| _TypeBuilder | System.Reflection.Emit.TypeBuilder 类。 | |
|
|
ICustomAdapter | 为客户端访问实际对象(而不是自定义封送拆收器分发的适配器对象)提供了一种方式。 |
| ICustomFactory | MarshalByRefObject 的托管对象编写激活代码。 | |
|
|
ICustomMarshaler | 提供用于处理方法调用的自定义包装。 |
|
|
ICustomQueryInterface | IUnknown::QueryInterface(REFIID riid, void **ppvObject) 方法的自定义托管实现。 |
| IRegistrationServices | 提供一组用于注册和注销托管程序集以供从 COM 使用的服务。 | |
| ITypeLibConverter | 提供一组服务,将托管程序集转换为 COM 类型库或进行反向转换。 | |
| ITypeLibExporterNameProvider | 当导出到类型库时提供名称大小写控制。 | |
| ITypeLibExporterNotifySink | 提供回调机制,以供程序集转换器向调用方通知转换的状态,并在转换过程本身之中涉及调用方。 | |
| ITypeLibImporterNotifySink | 提供回调机制,以供类型库转换器向调用方通知转换的状态,并在转换过程本身之中涉及调用方。 | |
| UCOMIBindCtx | 已过时。System.Runtime.InteropServices.ComTypes.BIND_OPTS。 | |
| UCOMIConnectionPoint | 已过时。System.Runtime.InteropServices.ComTypes.IConnectionPoint。 | |
| UCOMIConnectionPointContainer | 已过时。System.Runtime.InteropServices.ComTypes.IConnectionPointContainer。 | |
| UCOMIEnumConnectionPoints | 已过时。System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints。 | |
| UCOMIEnumConnections | 已过时。System.Runtime.InteropServices.ComTypes.IEnumConnections。 | |
| UCOMIEnumMoniker | 已过时。System.Runtime.InteropServices.ComTypes.IEnumMoniker。 | |
| UCOMIEnumString | 已过时。System.Runtime.InteropServices.ComTypes.IEnumString。 | |
| UCOMIEnumVARIANT | 已过时。System.Runtime.InteropServices.ComTypes.IEnumVARIANT。 | |
| UCOMIMoniker | 已过时。System.Runtime.InteropServices.ComTypes.IMoniker。 | |
| UCOMIPersistFile | 已过时。System.Runtime.InteropServices.ComTypes.IPersistFile。 | |
| UCOMIRunningObjectTable | 已过时。System.Runtime.InteropServices.ComTypes.IRunningObjectTable。 | |
| UCOMIStream | 已过时。System.Runtime.InteropServices.ComTypes.IStream。 | |
| UCOMITypeComp | 已过时。System.Runtime.InteropServices.ComTypes.ITypeComp。 | |
| UCOMITypeInfo | 已过时。System.Runtime.InteropServices.ComTypes.ITypeInfo。 | |
| UCOMITypeLib | 已过时。System.Runtime.InteropServices.ComTypes.ITypeLib。 |
| 委托 | 说明 | |
|---|---|---|
| ObjectCreationDelegate | 创建 COM 对象。 |
| 枚举 | 说明 | |
|---|---|---|
| AssemblyRegistrationFlags | 定义当注册程序集时使用的一组标志。 | |
| CALLCONV | 已过时。System.Runtime.InteropServices.ComTypes.CALLCONV。 | |
|
|
CallingConvention | 指定调用在非托管代码中实现的方法所需的调用约定。 |
|
|
CharSet | 规定封送字符串应使用何种字符集。 |
|
|
ClassInterfaceType | 标识为某个类生成的类接口的类型。 |
|
|
ComInterfaceType | 标识如何向 COM 公开接口。 |
|
|
ComMemberType | 描述 COM 成员的类型。 |
|
|
CustomQueryInterfaceMode | ICustomQueryInterface接口。 |
|
|
CustomQueryInterfaceResult | GetInterface 方法的返回值。 |
| DESCKIND | 已过时。System.Runtime.InteropServices.ComTypes.DESCKIND。 | |
|
|
DllImportSearchPath | 指定用于搜索 DLL 平台提供函数调用的路径。 |
| ExporterEventKind | 描述类型库导出程序在导出类型库时生成的回调。 | |
| FUNCFLAGS | 已过时。System.Runtime.InteropServices.ComTypes.FUNCFLAGS。 | |
| FUNCKIND | 已过时。System.Runtime.InteropServices.ComTypes.FUNCKIND。 | |
|
|
GCHandleType | GCHandle 类可以分配的句柄的类型。 |
| IDispatchImplType | 已过时。IDispatch 实现。 | |
| IDLFLAG | 已过时。System.Runtime.InteropServices.ComTypes.IDLFLAG。 | |
| IMPLTYPEFLAGS | 已过时。System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS。 | |
| ImporterEventKind | 描述类型库导入程序在导入类型库时生成的回调。 | |
| INVOKEKIND | 已过时。System.Runtime.InteropServices.ComTypes.INVOKEKIND。 | |
|
|
LayoutKind | 控制当导出到非托管代码时对象的布局。 |
| LIBFLAGS | 已过时。System.Runtime.InteropServices.ComTypes.LIBFLAGS。 | |
| PARAMFLAG | 已过时。System.Runtime.InteropServices.ComTypes.PARAMFLAG。 | |
| RegistrationClassContext | 指定执行上下文集,类对象将在这些上下文中对请求构造实例的请求可用。 | |
| RegistrationConnectionType | 定义到类对象的连接的类型。 | |
| SYSKIND | 已过时。System.Runtime.InteropServices.ComTypes.SYSKIND。 | |
| TYPEFLAGS | 已过时。System.Runtime.InteropServices.ComTypes.TYPEFLAGS。 | |
| TYPEKIND | 已过时。System.Runtime.InteropServices.ComTypes.TYPEKIND。 | |
| TypeLibExporterFlags | 指示应该如何生成类型库。 | |
| TypeLibFuncFlags | FUNCFLAGS 的原始设置。 | |
| TypeLibImporterFlags | 指示应该如何生成程序集。 | |
| TypeLibTypeFlags | TYPEFLAGS 的原始设置。 | |
| TypeLibVarFlags | VARFLAGS 的原始设置。 | |
|
|
UnmanagedType | 指定如何将参数或字段封送到非托管代码。 |
|
|
VarEnum | UnmanagedType.SafeArray 从托管代码封送到非托管代码时,如何封送该数组的元素。 |
| VARFLAGS | 已过时。System.Runtime.InteropServices.ComTypes.VARFLAGS。 |