我正在使用带有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();
}
调用get_PasswordLastChanged
将成功并返回上次更改的密码日期,但我需要到期日期。
使用get_PasswordExpirationDate
,我获得了S_OK
(成功),但它也提供了错误代码-2147463155
。
任何人都可以解释出现了什么问题吗?
答案 0 :(得分:1)
错误转换为ADS_PROPERTY_NOT_FOUND。可能是这个用户的密码没有过期吗?