2013-07-07 24 views
0

我是查詢我的活動目錄從C++。我已成功將IADs對象與服務器綁定,並且還能夠檢索用戶信息。我正在使用VARIANT數據類型來檢索對象。大部分對象都是BSTR字符串。但像badPWDCount,pwdLastSet,logonCount等屬性沒有。因此我無法檢索這些值。請幫我解決一下這個。在VC++中獲取不同的VARIANT值

VARIANT var; hr = testIAD-> Get(query,& vari); 如果(小時== 0){ 的printf (%S \ n \ n」個,V_BSTR(& VARI));}

在這裏,我不知道如何使用VARIANT打印比其他數據類型BSTR。

回答

0

VARIANT有一個名爲vt構件,其指示它目前包含的值的類型。例如,如果vt設置爲VT_UNKNOWN所述變體包含一個指針,其可以被設置或使用punkVal構件檢索IUnknown接口。

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

    // ... do something ... 

    i->Release(); 
} 

有一個list of variant types available on the MSDN website