如何使用C++;win32 API? 我用Win32 API使用C++,我想用ADSI.为用户获取密码到期日。 CoInitialize(NULL); LPWSTR pszADsPath=L"LDAP://CN=arjun,CN=Users,DC=raja,DC=com"; //HRESULT hr; IADsUser *pUser; hr = ADsGetObject(pszADsPath, IID_IADsUser, (void**) &pUser); if(SUCCEEDED(hr)) { DATE expirationDate; VariantInit(&var); hr = pUser->get_PasswordLastChanged(&expirationDate); hr = pUser->get_PasswordExpirationDate(&expirationDate); if (SUCCEEDED(hr)) VariantTimeToSystemTime(expirationDate,&lpExpirationDate); pUser->Release(); }

如何使用C++;win32 API? 我用Win32 API使用C++,我想用ADSI.为用户获取密码到期日。 CoInitialize(NULL); LPWSTR pszADsPath=L"LDAP://CN=arjun,CN=Users,DC=raja,DC=com"; //HRESULT hr; IADsUser *pUser; hr = ADsGetObject(pszADsPath, IID_IADsUser, (void**) &pUser); if(SUCCEEDED(hr)) { DATE expirationDate; VariantInit(&var); hr = pUser->get_PasswordLastChanged(&expirationDate); hr = pUser->get_PasswordExpirationDate(&expirationDate); if (SUCCEEDED(hr)) VariantTimeToSystemTime(expirationDate,&lpExpirationDate); pUser->Release(); },c++,windows,winapi,active-directory,C++,Windows,Winapi,Active Directory,调用get_PasswordLastChanged将获得成功并返回上次更改的密码日期,但我需要过期日期 使用get_PasswordExpirationDate,我得到了S_OK(成功),但它也给出了一个错误代码-2147463155 有人能解释出哪里出了问题吗?这个错误转化为未找到ADS属性。是否该用户的密码未过期?请对此发表评论。。或者一个答案。如果这是一个“问题”,那么它就不是答案。(答案可能是“对于不“过期”的密码,将返回ADS_PROPERTY_NOT_FOUND(未找到)”,如果它确

调用
get_PasswordLastChanged
将获得成功并返回上次更改的密码日期,但我需要过期日期

使用
get_PasswordExpirationDate
,我得到了
S_OK
(成功),但它也给出了一个错误代码
-2147463155


有人能解释出哪里出了问题吗?

这个错误转化为未找到ADS属性。是否该用户的密码未过期?

请对此发表评论。。或者一个答案。如果这是一个“问题”,那么它就不是答案。(答案可能是“对于不“过期”的密码,将返回ADS_PROPERTY_NOT_FOUND(未找到)”,如果它确实被认为是正确的陈述。)@Nik B.@pst:不,我已经检查过了,该用户的密码将过期…当我使用该用户登录时,它会显示“密码将在2天内过期,您想更改密码吗”对话框。。。是的,我不明白到底是什么问题!??!?!?