Active directory 在VC+中获取变量的不同值+;

Active directory 在VC+中获取变量的不同值+;,active-directory,ldap,c++,Active Directory,Ldap,C++,我正在从c++查询我的Active Directory。我已经成功地将IADs对象与服务器绑定,并且能够检索用户信息。我使用变量数据类型来检索对象。大多数对象都是BSTR字符串。但是像badPWDCount、pwdLastSet、logonCount这样的属性则不是。因此,我无法检索这些值。请帮我做这个 变异变量; hr=testIAD->Get(查询和变量); 如果(hr==0) { printf(%S\n\n),V_BSTR(&vari)); } 在这里,我不知道如何使用VARIANT来打印

我正在从c++查询我的Active Directory。我已经成功地将IADs对象与服务器绑定,并且能够检索用户信息。我使用变量数据类型来检索对象。大多数对象都是BSTR字符串。但是像badPWDCount、pwdLastSet、logonCount这样的属性则不是。因此,我无法检索这些值。请帮我做这个

变异变量; hr=testIAD->Get(查询和变量); 如果(hr==0) { printf(%S\n\n),V_BSTR(&vari)); }

在这里,我不知道如何使用VARIANT来打印BSTR以外的数据类型。

有一个名为
vt
的成员,它指示它当前包含的值类型。例如,如果
vt
设置为
vt_UNKNOWN
,则VARIANT包含一个指向IUnknown接口的指针,可以使用
punkVal设置或检索该接口成员

VARIANT v;
GetValueAsVariant(&v);
if(v.vt == VT_UNKNOWN)
{
    IUnknown *i = vt.punkVal;

    // ... do something ...

    i->Release();
}
有一个