Sto usando ATL (VS2008, quindi ATL9 IIRC) per creare oggetti COM e sono state usando la classe CComVariant
(definito in atlcomcli.h
) per gestire VARIANT
tipi. Tuttavia, esiste anche un altro wrapper VARIANT
chiamato _variant_t
. C'è qualche differenza tra CComVariant
e _variant_t
e quale dovrei usare?CComVariant vs _variant_t, CComBSTR vs. _bstr_t
Analogamente, sono disponibili due wrapper BSTR
- CComBSTR
e _bstr_t
. Ancora una volta, quale dovrei preferire e perché?
Nota che _variant_t e _bstr_t sono forniti gratuitamente nell'SDK. ATL è fornito con MSDN ed è a pagamento. – Ben
+1 per le informazioni sugli allegati. Puoi incapsulare un 'BSTR bstr' esistente come' _bstr_t my_bstr (bstr, false) 'o' CComBSTR my_bstr; my_bstr.Attach (bstr); 'quindi se hai solo bisogno della distruzione automatica di BSTR,' _bstr_t' è più semplice. –