2011-04-28 6 views
0

Я пытаюсь реализовать решение, данное вКак вызвать ICDBurn :: GetRecorderDriveLetter() в VS2008 C++? (Решение XP CD запись в корень)

GetSaveFileName() not returning path of CD burning staging area on XP

Я пытаюсь реализовать это в VS2008 C++. Метод ICDBurn :: GetRecorderDriveLetter() не является статическим и поэтому не может быть вызван как написанный (ICDBurn :: GetRecorderDriveLetter) в приведенном выше ответе. ICDBurn не может быть создан, потому что это абстрактный класс. Как я могу позвонить ICDBurn :: GetRecorderDriveLetter() из C++?

ответ

0

Сначала необходимо создать объект COM.

ICDBurn* pICDBurn; 
HRESULT hr = CoCreateInstance(CLSID_CDBurn, NULL,CLSCTX_INPROC_SERVER,IID_ICDBurn,(LPVOID*)&pICDBurn); 
if (SUCCEEDED(hr)) 
{ 

// do something ... 
pICDBurn->Release(); 

}