duyanning

enlightened programmer

atl的一个问题

进程外服务器为长文件名,注册的时候变成了8.3格式,导致和appid中记录的长文件名不匹配,以至dcomcnfg给appid设置的访问许可被旁路,原因是
atl中如下代码
  TCHAR szModule[_MAX_PATH];
  GetModuleFileName(pM->m_hInst, szModule, _MAX_PATH);

   // Convert to short path to work around bug in NT4's CreateProcess
   TCHAR szModuleShort[_MAX_PATH];
   GetShortPathName(szModule, szModuleShort, _MAX_PATH);
   LPOLESTR pszModule = T2OLE(szModuleShort);


解决的办法是将appid中的文件名变成8.3格式的,在注册脚本中

阅读更多
文章标签: path 服务器 脚本
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭