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

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

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

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

1 ответ

Решение

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

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

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

}
Другие вопросы по тегам