Comment dois-je appeler ICDBurn :: GetRecorderDriveLetter () dans VS2008 C ++? (Résolution XP CD écriture à la racine)

StackOverflow https://stackoverflow.com/questions/5825944

Question

Je suis en train de mettre en œuvre la solution donnée dans

chemin non retour GetSaveFileName () de zone de transit de gravure de CD sur XP

Je suis en train de mettre en œuvre ce dans VS2008 C ++. La méthode ICDBurn :: GetRecorderDriveLetter () n'est pas statique et ne peut donc pas être appelé comme écrit ( ICDBurn :: GetRecorderDriveLetter ) dans la réponse ci-dessus. ICDBurn ne peut pas être instancié parce qu'il est une classe abstraite. Comment dois-je appeler ICDBurn :: GetRecorderDriveLetter () de C ++?

Était-ce utile?

La solution

Vous devez créer l'objet COM premier.

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

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

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top