社区
ATL
帖子详情
COM中CreateInstance返回ERROR_NO_TOKEN是什么意思?
Sonic2007
2008-10-09 09:11:53
CreateInstance(__uuiodf(Class));
这个老是返回1008, ERROR_NO_TOKEN, 但是class的id已经注册了, 在注册表中能看到, 不应该找不到, 另外, 如果关了UAC就没有错误, 开了UAC就不行. 我已经提升了进程的权限到管理员, 但是还是不好使, 是不是这个线程的权限问题?
...全文
1016
7
打赏
收藏
COM中CreateInstance返回ERROR_NO_TOKEN是什么意思?
CreateInstance(__uuiodf(Class)); 这个老是返回1008, ERROR_NO_TOKEN, 但是class的id已经注册了, 在注册表中能看到, 不应该找不到, 另外, 如果关了UAC就没有错误, 开了UAC就不行. 我已经提升了进程的权限到管理员, 但是还是不好使, 是不是这个线程的权限问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sys0002
2008-10-10
打赏
举报
回复
1)添加manifest当然是在你的调用程序里加,这样你的调用程序是高权限的,它调用CoCreateInstance启动的DCOM服务当然也就是高权限了。如果你的DCOM里面没有进行高权限的操作,可以不用manifest,这样普通权限的程序也可以启动它。
2)CoCreateInstanceAsAdmin的使用是在Vista下普通权限启动高权限的DCOM服务的一种方法,也就是在你调用CoCreateInstanceAsAdmin时操作系统自动弹出UAC框。
Sonic2007
2008-10-10
打赏
举报
回复
谢楼上老大,
首先是我的Manifest文件中已经是Administrator了
关于CoCreateInstanceAsAdmin, 我会研究. 但是我用CreateElevatedInstance这种方法是不行的,错误还是同样的问题, 用提升权限的方法来CreateInstance还是有错误.
如果我先把需要启动的exe文件通过run as administrator启动起来, 再通过CreateInstance, 这样就可以调用该exe中的接口,
如果不这样做的话, 而是直接通过CreateInstance来启动这个exe组件, 就是会说ERROR_NO_TOKEN
这到底是为什么呢? 我怀疑是Vista的UAC在CreateInstance的时候, 把我的exe组件看成了是不信任的user组件了, 所以CreateInstance 不能把该进程外组件启动起来, 但是我看了manifest中, 已经是requireAdministrator了.(该exe的图标有Vista中的盾的标识, 是不是说明不是admin的呢?)
进程外组件调用具体的机制我还不是很清楚, 我当前的进程是具有administrator权限的, 但是CreateInstance就不能调用一个进程外的exe组件
望各位大牛指教, 感谢再三
sys0002
2008-10-10
打赏
举报
回复
权限问题
1)添加Manifest使用管理员权限就可以了,因为添加manifes使用管理员权限与你直接右键Run as administrator是一致
2)使用CoCreateInstanceAsAdmin
具体参考:
http://blogs.msdn.com/vistacompatteam/archive/2006/09/28/CoCreateInstanceAsAdmin-or-CreateElevatedComObject-sample.aspx
Sonic2007
2008-10-10
打赏
举报
回复
怎么没人回答? 都不知道? 这问题有这么难么
Sonic2007
2008-10-10
打赏
举报
回复
我的调用程序是一个dll, 也是一个COM组件, 在当前的运行进程中它已经是高权限的了, 但是通过CreateInstance调用另一个exe就不行了, 相当于调用进程外的组件, 不明白到底是怎么回事....唉
Sonic2007
2008-10-09
打赏
举报
回复
mainfest中看到的也是Administrator
主要是我调用的是进程外的组件,在一个dll中调用的另外一个exe,
如果我先把exe用Run as administrator, 然后再调用就是可以的,
但是直接CreateInstance调用就不行, 不清楚具体怎么回事
wangweixing2000
2008-10-09
打赏
举报
回复
你当前进程权限如果提升了,线程应该没有问题:)
你的确认你的mainfest中提升了权限
Shiro学习(二、身份验证)
参考:https://www.iteye.
com
/blog/lgbolgger-2163890 https://www.iteye.
com
/blog/jinnianshilongnian-2019547 身份验证,即在应用
中
谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。 在shiro
中
,用户需要提供principals(身份...
Android开发qq一键登录成功
返回
数据的要方法
public class LoginActivity extends Activity { private TextView titletext;//标题头上面的文字 boolean isno=false; private LinearLayout login_lay;//需要模糊的背景 private Bitmap bitmap;//模糊的图片
新浪微博客户端开发之授权登录+获取微博列表
新浪微博客户端开发之授权登录+获取微博列表 闲篇: 最近实在是乱得不行,至于怎么乱我也不知该怎么说,那么久没发博客就证明了这点,一般如果小巫有做详尽的计划,并把时间投入到上面的话,我是可以用最短的时间里把新浪微博客户端给整出来的,但现在进度很慢,我越来越不像个称职的程序猿,因为现在的生活已经不再是代码,更多的是想多享受跟朋友们在一起的快乐。这些话也不多说了,关于这个项目,其实我也头痛了
qq第三方登录
需要导入的依赖
com
pile '
com
.android.support:app
com
pat-v7:26.+'
com
pile '
com
.android.support.constraint:constraint-layout:1.0.2' test
Com
pile 'junit:junit:4.12' __________________________________________
第三方登录(QQ登录)
public void login() { // 在腾讯开放平台获取的APPID mTencent = Tencent.
create
Instance
("1106541335", this.getApplicationContext()); if (!mTencent.isSessionValid()
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章