GETOBJECTOPTIONS
/// <summary>
/// 获取对象的选项
/// </summary>
public enum GETOBJECTOPTIONS
{
/// <summary>
/// 选举事务处得到obj没有接口
/// </summary>
REO_GETOBJ_NO_INTERFACES = 0x00000000, /// <summary>
/// 选举事务处得到的obj poleobj
/// </summary>
REO_GETOBJ_POLEOBJ = 0x00000001, /// <summary>
/// 研究
/// </summary>
REO_GETOBJ_PSTG = 0x00000002, /// <summary>
/// 选举事务处得到的obj polesite
/// </summary>
REO_GETOBJ_POLESITE = 0x00000004, /// <summary>
/// 选举事务处得到的obj所有的接口
/// </summary>
REO_GETOBJ_ALL_INTERFACES = 0x00000007,
}
/// <summary>
/// 如需向CRichEditCtrl里面插入Ole对象,
/// /需要调用 GetIRichEditOle 获得此CRichEditCtrl的IRichEditOle接口
/// </summary>
[ComImport,
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
Guid("00020D00-0000-0000-c000-000000000046")]
public interface IRichEditOle
{
// 接口下面几个重要的方法
// InsertObject:插入一个对象到CRichEditCtrl
// GetObject:返回一个CRichEditCtrl里面的REOBJECT对象
// ImportDataObject: 导入一个剪切板对象并替换当前选中内容
// GetClientSite:返回IOleClientSite接口用于创建新的对象。
// GetClipboardData:返回一个Clipboard对象。 /// <summary>
/// 返回 IOleClientSite 接口用于创建新的对象。
/// </summary>
/// <param name="site"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetClientSite(out IOleClientSite site); [return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetObjectCount(); [return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetLinkCount(); /// <summary>
/// 返回一个CRichEditCtrl里面的REOBJECT对象
/// </summary>
/// <param name="iob"></param>
/// <param name="lpreobject"></param>
/// <param name="flags"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetObject(int iob, [In, Out] REOBJECT lpreobject, [MarshalAs(UnmanagedType.U4)] GETOBJECTOPTIONS flags); /// <summary>
/// 插入一个对象到 CRichEditCtrl
/// </summary>
/// <param name="lpreobject"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int InsertObject(REOBJECT lpreobject);
/// <summary>
/// 转换对象
/// </summary>
/// <param name="iob"></param>
/// <param name="rclsidNew"></param>
/// <param name="lpstrUserTypeNew"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ConvertObject(int iob, Guid rclsidNew, string lpstrUserTypeNew); /// <summary>
/// 激活
/// </summary>
/// <param name="rclsid"></param>
/// <param name="rclsidAs"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ActivateAs(Guid rclsid, Guid rclsidAs); /// <summary>
/// 设置主机名
/// </summary>
/// <param name="lpstrContainerApp"></param>
/// <param name="lpstrContainerObj"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SetHostNames(string lpstrContainerApp, string lpstrContainerObj); /// <summary>
/// 设置链接可用
/// </summary>
/// <param name="iob"></param>
/// <param name="fAvailable"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SetLinkAvailable(int iob, bool fAvailable);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SetDvaspect(int iob, uint dvaspect);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int HandsOffStorage(int iob); /// <summary>
/// 保存完毕
/// </summary>
/// <param name="iob"></param>
/// <param name="lpstg"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SaveCompleted(int iob, IStorage lpstg); /// <summary>
/// 在关闭
/// </summary>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int InPlaceDeactivate(); /// <summary>
/// 上下文相关的帮助
/// </summary>
/// <param name="fEnterMode"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ContextSensitiveHelp(bool fEnterMode); /// <summary>
/// 获取剪贴板数据 返回一个 Clipboard 对象
/// </summary>
/// <param name="lpchrg"></param>
/// <param name="reco"></param>
/// <param name="lplpdataobj"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetClipboardData([In, Out] ref CHARRANGE lpchrg, [MarshalAs(UnmanagedType.U4)] GETCLIPBOARDDATAFLAGS reco, out IDataObject lplpdataobj); /// <summary>
/// 导入数据对象 导入一个剪切板对象并替换当前选中内容
/// </summary>
/// <param name="lpdataobj"></param>
/// <param name="cf"></param>
/// <param name="hMetaPict"></param>
/// <returns></returns>
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ImportDataObject(IDataObject lpdataobj, int cf, IntPtr hMetaPict);
}
GETOBJECTOPTIONS的更多相关文章
- ChatRichTextBox : RichTextBox
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using ...
随机推荐
- 【腾讯Bugly干货分享】深入理解 ButterKnife,让你的程序学会写代码
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578753c0c9da73584b025875 0.引子 话说我们做程序员的,都 ...
- 【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎
Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 前言 好吧,说是“粒子引擎”还是大言不 ...
- flume 1.4的介绍及使用示例
flume 1.4的介绍及使用示例 本文将介绍关于flume 1.4的使用示例,如果还没有安装flume的话可以参考:http://blog.csdn.net/zhu_xun/article/deta ...
- 开源项目asmjit——调用自定义方法demo以及windbg调试
asmjit是一个开源项目,使用它可以将代码即时的编译成机器码,也就是所谓的jit技术. 初次接触这个项目,编写了一个demo,学习它的使用方法. 现将编写的demo以及调试jit生成的机器码的过程总 ...
- DDD领域驱动设计实践篇之如何提取模型
需求说明: 省级用户可以登记国家指标 省级用户和市级用户可以登记指标分解 登记国家指标时,需要录入以下数据:指标批次.文号.面积,这里省略其他数据,下同 登记指标分解时,需要录入以下数据:指标批次.文 ...
- L#脚本语言,直接把DLL当脚本执行(图解说明)
L#是什么:Run DLL as a Script. A Pure C# IL Runner,直接解析执行IL的脚本引擎. 从原理上讲是模拟执行了CLR的工作,从表现上讲就是把DLL作为资源直接加载执 ...
- java内功 ---- jvm虚拟机原理总结,侧重于GC
写作日期 2016-08-22-23 交流qq:992591601 参考资料:<深入理解java虚拟机>.<thinking in java>.<Effective Ja ...
- java gc的考察
参考http://www.cnblogs.com/mazj611/p/3481610.html 看了很多博客.书, 仍然有所不懂.很多看过即忘记.实在要不得. 我们可以通过jstat获取gc情况 js ...
- Nodejs·理解Buffer
Node里面的Buffer其实就是用于网络请求.文件读取等等操作,而且是分配在堆外,不会占用堆内的内存,这也是因为本来V8的内存就很小,如果读取大文件,那就...... 之前有看过Logstash的B ...
- [数据库事务与锁]详解六: MySQL中的共享锁与排他锁
注明: 本文转载自http://www.hollischuang.com/archives/923 在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大 ...