我試圖使用ldap_modify功能來修改AD屬性值...ldap_modify函數通過訪問衝突?
的代碼如下...
LDAPMod *list_of_attrs[1]={0};
char *Password[] = {"Password2"};
LDAPMessage *result=NULL;
int msgid;
int rc=0;
LDAPMod attribute2;
attribute2.mod_type = (PCHAR)"Password number";
attribute2.mod_op = LDAP_MOD_REPLACE;
attribute2.mod_vals.modv_strvals=Password;
list_of_attrs[0] = &attribute2;
wchar_t dnName[100]={0};
char *dn = "CN=test,CN=Users,DC=raja,DC=com";
mbstowcs(dnName,dn, 100);
PWCHAR dnNameval = (PWCHAR)malloc(sizeof(PWCHAR) * 20);
wcscpy(dnNameval,dnName);
msgid=ldap_modify(pLdapConnection,(const PCHAR)dnNameval, list_of_attrs);
但是,當涉及到最後一行(MSGID)訪問衝突異常發生..
* AD2.exe中的0x76f693ac未處理的異常:0xC0000005:訪問衝突讀取位置0xcccccccc。 *
請幫我解決這個問題... 在此先感謝。
將一個寬字符串投射到一個狹窄的字符串是一個壞主意。 – chris
任何人都可以嗎?!?!?! –
它很可能是演員:'(const PCHAR)dnNameval'。 – chris