导入msado15.dll

时间:2012-07-13 09:10:08

标签: c++ windows

我正在尝试导入一个dll,即msado15.dll。我可以用解决方案做到这一点;

#import <C:\\Program Files\\Common Files\\System\\ado\\msado15.dll>  \
rename( "EOF", "AdoNSEOF" )

但是我无法用它分发任何东西。

我已经尝试通过注册表并为它找到了一个libid,所以我正在尝试:

#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" rename( "EOF", "AdoNSEOF" )

但我收到了这些错误

  

1&gt; Timestream.cpp(5):警告C4010:单行注释包含行继续符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符   1&gt; Timestream.cpp(6):警告C4278:'RGB':类型库'2DF8D04C-5BFA-101B-BDE5-00AA0044DE52'中的标识符已经是一个宏;使用'重命名'限定符

我如何让它工作,这是最好的方法吗?我查看了有关msado15.dll的其他问题,但它们似乎有不同的问题。

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:3)

#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" rename( "EOF", "AdoNSEOF" )

这是一个类型库,但它是错误的。这解释了你得到的所有错误。启动regedit.exe并导航到HKCR\TypeLib并滚动到您要求的libid。请注意2.0 \ 0 \ win32键如何指向MSO.DLL。这是一个Office类型库。

要查找正确的guid,请从Visual Studio命令提示符运行OleView.exe。文件+查看Typelib并导航到msado15.dll。你会在顶部找到你需要的guid,库部分的uuid()属性:

uuid(B691E011-1797-432E-907A-4D8C69339129)

因此:

#import "libid:B691E011-1797-432E-907A-4D8C69339129" rename( "EOF", "AdoNSEOF" )

请注意,这是一个非常古老的,你应该使用msado28.tlb