Comment dois-je appeler ICDBurn :: GetRecorderDriveLetter () dans VS2008 C ++? (Résolution XP CD écriture à la racine)
-
26-10-2019 - |
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 ++?
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