我正在使用带有 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
。
谁能解释出了什么问题?