我得到的maxpwdage值,并使用ADSI的pwdLastSet值..
现在,我要检查密码到期日...
hr = pDomain->get_MaxPasswordAge(&ret);
maxpwdage给人432000 ...
hr = pUser->get_PasswordLastChanged(&expirationDate);
的pwdLastSet给41176.470196759263 ...
如何实现使用这个值的密码有效期?
我得到的maxpwdage值,并使用ADSI的pwdLastSet值..
现在,我要检查密码到期日...
hr = pDomain->get_MaxPasswordAge(&ret);
maxpwdage给人432000 ...
hr = pUser->get_PasswordLastChanged(&expirationDate);
的pwdLastSet给41176.470196759263 ...
如何实现使用这个值的密码有效期?
MaxPasswordAge
PasswordLastChanged
您需要MaxPasswordAge添加到PasswordLastChanged。
VARIANT日期
类型:DATE
日期和时间值。 日期被表示为双精度数,其中午夜,1900年1月1日为2.0,1900年1月2日是3.0,等等。
日期可以被转换为与使用VariantTimeToDosDateTime一个MS-DOS表示。
因此,这意味着1.0代表一天。
从WTypes.h:
typedef double DATE;
所以:
DATE expirationDate;
VARIANT vtExpDate;
expirationDate += (double)(ret / 86400);
vtExpDate.vt = VT_DATE ;
vtExpDate.date = date ;
86400 = 24 * 60 * 60 =秒/天
然后使用VariantTimeToDosDateTime让人类可读的日期。