How do I call ICDBurn::GetRecorderDriveLetter() in VS2008 C++? (Solving XP CD write to root)

390 views Asked by At

I am trying to implement the solution given in

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

I'm trying to implement this in VS2008 C++. The ICDBurn::GetRecorderDriveLetter() method is not static and thus cannot be called as written (ICDBurn::GetRecorderDriveLetter) in the above answer. ICDBurn can't be instantiated because it's an abstract class. How do I call ICDBurn::GetRecorderDriveLetter() from C++?

1

There are 1 answers

0
Peon the Great On BEST ANSWER

You need to create the COM object first.

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

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

}