Как мне вызвать 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();
}