wstring ITunesTrack::albumArtist() const { if ( m_comTrack == 0 ) return L""; // empty track case BSTR bstrAlbumArtist = 0; IITFileOrCDTrack* fileTrack = static_cast<IITFileOrCDTrack*>(m_comTrack); HRESULT res = m_comTrack->QueryInterface(IID_IITFileOrCDTrack, (void**)&fileTrack); if ( res != S_OK || fileTrack == 0 ) { ITunesComWrapper::logComError( res, L"Casting IITrack to IITFileOrCDTrack failed" ); } else { res = fileTrack->get_AlbumArtist( &bstrAlbumArtist ); fileTrack->Release(); } ITunesComWrapper::handleComResult( res, L"Failed to read album artist of track" ); return ITunesComWrapper::bstrToWString( bstrAlbumArtist ); }