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 ...
随机推荐
- ENode 1.0 - 事件驱动架构(EDA)思想的在框架中如何体现
开源地址:https://github.com/tangxuehua/enode 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用很多 ...
- 十进制数转化成二进制后包含一的数量(c++)
#include <iostream> using namespace std;int func(int x){ int count=0; while(x){ ...
- 已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束
public abstract class FillWorkBook<TModel, Chart> where TModel : struct where Chart : new() wh ...
- 如何获得PRINCE2认证
PRINCE2认证考试共有两种:基础级和从业级 一. 基础级考试 基础级考试是一种低水平的认证.如果想要进行从业级考试,必须要参加并通过该考试,或者已经获得pmp资质.基础级考试包括以下关键点: 1. ...
- MVVM架构~使用boxy和knockoutjs实现编辑功能
返回目录 这个功能我认为非常有用,尤其在后台管理系统中,它对用户来说,使用体验这块非常不错,下面是它的截图
- 知方可补不足~SQL2008中的发布与订阅模式~续
回到目录 上一回介绍了如何在sql2008中建立一个数据库的发布者,今天来说一下如何建立一个订阅者,其实订阅者也是一个数据库,而这个数据库是和发布者的数据结构相同的库,它们之间通过SQL代理进行数据上 ...
- Android开发学习之路-使用AsyncTask进行异步操作
通常情况下,我们要实现异步操作,也就是在子线程进行耗时操作比如下载或者加载图片等,然后在UI(主)线程中更新UI,使用的是Handler和Message来进行异步的实现,但是,谷歌官方在Android ...
- Atitit 类库冲突解决方案 httpclient-4.5.2.jar
Atitit 类库冲突解决方案 httpclient-4.5.2.jar 错误提示如下1 版本如下(client and selenium)2 解决流程2 挂载源码 (SSLConnectionSo ...
- Atitit.异步的实现模式attilax大总结
Atitit.异步的实现模式attilax大总结 1.1. 函数回调(包括的future模式)1 1.2. 事件机制( 包括定时器 listeners 1 1.3. 中断机制1 1.4. 订阅机制 发 ...
- paip.解决access出现 -2147467259 无效的参数量
paip.解决access出现 -2147467259 无效的参数量 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http: ...