Se non includi l'header di msado15 non fai molta strada.
Poi _bstr_t è definito in comutil.h che definisce tra l'altro anche variant_t.
In comip.h è definita la classe _com_ptr_t che serve per lavorare con gli smartptr di COM.
Generalmente basta fare un include di comdef.h per lavorare con COM (che include l'header precedentemente citato), ma non so se in questo caso sia necessario, credo che l'header msado15 definisca ciò che serve.