Как мне вызвать ICDBurn::GetRecorderDriveLetter() в VS2008 С++? (Решение XP CD записать в корень)

Я пытаюсь реализовать решение, данное в

GetSaveFileName() не возвращает путь промежуточной записи компакт-диска область на XP

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


person JonN    schedule 28.04.2011    source источник


Ответы (1)


Сначала вам нужно создать COM-объект.

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

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

}
person Peon the Great    schedule 28.04.2011