gpt4 book ai didi

c++ - 如何为 WinApi ldap_search_s 初始化 PZPWSTR (wchar_t**) 参数?

转载 作者:行者123 更新时间:2023-11-30 18:44:29 25 4
gpt4 key购买 nike

我正在使用ldap_search_s ( ldap_search_sW ) 提取 AD 用户组。当 attrs 时它起作用。参数( PZPWSTRwchar_t** )为 NULL ,但是当我尝试指定它时,我得到 Exception at 0x7ffc1885bd95, code: 0xc0000005: read access violation at: 0xfffffffffffffffe .

wchar_t *attrs[] = {
const_cast<wchar_t *>(L"memberOf"),
const_cast<wchar_t *>(L"")
};
ret = ldap_search_s(pLdap, const_cast<wchar_t *>(dn.c_str()), LDAP_SCOPE_SUBTREE, const_cast<wchar_t *>(filter.c_str()), attrs, 0, &pSearchResult);

根据docs它需要是“一个以 null 结尾的字符串组成的数组,指示要为每个匹配条目返回的属性。传递 NULL 以检索所有可用属性。”

我尝试了使用 vector 、数组等的不同方法,但总是得到相同的错误。

The example in MSDN仅显示 ANSI 版本,但它似乎是一个非常相似的指针数组。

最佳答案

您的数组不是以 null 结尾的。 NULL 和空字符串相同。

使用NULL(或现代C++中的nullptr)。

wchar_t *attrs[] = {
const_cast<wchar_t *>(L"memberOf"),
nullptr
};

关于c++ - 如何为 WinApi ldap_search_s 初始化 PZPWSTR (wchar_t**) 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com