none
HRESULT ADsGetObject( _In_ LPCWSTR lpszPathName, _In_ REFIID riid,_Out_ VOID **ppObject);里的riid参数在64位里的有替代吗 RRS feed

  • 问题

  • HRESULT ADsGetObject( _In_   LPCWSTR lpszPathName, _In_   REFIID riid,_Out_  VOID **ppObject);

    参数riid应该是一个128位的全局标识符(GUID),使用SDK里的iads.h的IID_IADs作为实参,在win32debug环境下debug是正常的

    但是在x64平台下debug会返回fail

    x64win32

    不知道是不是因为字符在32位环境下和64位环境下所占的位数不同导致的?如果是,MS有没有提供其他在64位下可运行的sdk?

    2014年7月22日 6:45

答案

  • 你好,

    请问你的系统环境是怎样的?win7 64bit吗还是其他?你的系统上有没有安装64位的IADS? 你用的是LDAP ADsPath 还是  WinNT ADsPath

    同时你在英文论坛也问了相似的问题,请问这两个问题的背景是相同的吗?如果是同一个问题,您最好在那里继续那个问题,我们不建议一个问题开多个帖子。

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/4921a8dc-7e65-4dcb-8b21-a82f09b88403/do-adsgetobject-support-64bit?forum=windowsgeneraldevelopmentissues

    》不知道是不是因为字符在32位环境下和64位环境下所占的位数不同导致的?如果是,MS有没有提供其他在64位下可运行的sdk?

    我不知道您其他的代码是怎么写的,有没有涉及到不同位数的字符问题,不过也许您可以关注一下这个IADsLargeInteger interface, 这个是专门处理64位大整型数据的。

    另外,我们在实验机上验证过了,ADsGetObject 在32位或64位都是可以很好工作的。

    如果可以,您可以分享你完整的项目到Onedrive, 我们可以帮您测试。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2014年7月23日 8:11