Récupération de l’interface de gravure de CD

[La fonctionnalité associée à cette page, Lecteur multimédia Windows SDK, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer. MediaPlayer a été optimisé pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer au lieu de Lecteur multimédia Windows SDK, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Pour énumérer les lecteurs de CD sur l’ordinateur de l’utilisateur, utilisez l’interface IWMPCdromCollection . Vous récupérez un pointeur vers cette interface en appelant IWMPCore::get_cdromCollection.

En utilisant les méthodes get_count et item , vous pouvez itérer la collection pour récupérer un pointeur d’interface IWMPCdrom pour chaque lecteur de CD sur l’ordinateur de l’utilisateur.

L’interface IWMPCdrom représente un lecteur CD individuel. Avant de commencer à graver un CD, vous devez d’abord appeler QueryInterface via un pointeur IWMPCdrom pour récupérer un pointeur vers l’interface IWMPCdromBurn .

L’exemple de code suivant montre comment récupérer une interface pour graver un CD sur un lecteur spécifique :

HRESULT CMainDlg::GetCdromDriveCount (long &lDriveCount)
{
    hr = m_spPlayer->get_cdromCollection(&m_spCdromCollection);

    // Get the number of CDROM drives.
    if (SUCCEEDED(hr))
    {
        hr = m_spCdromCollection->get_count(&lDriveCount);
    }

    return hr;
}

// lIndex refers to the index of the current drive,
// which must be less than the value retrieved by
// GetCdromDriveCount above.
HRESULT CMainDlg::GetCdromBurnInterface (long lIndex)
{
    // Get the IWMPCdrom interface.
    m_spCdrom.Release();
    HRESULT hr = m_spCdromCollection->item(lIndex, &m_spCdrom);
    if (SUCCEEDED(hr))
    {
        // Get the IWMPCdromBurn interface.
        m_spCdromBurn.Release();
        hr = m_spCdrom->QueryInterface(&m_spCdromBurn);
    }

    return hr;
}

Gravure d’un CD

Démarrage du processus de gravure

Effacement d’un CD réécritable

Récupération de l’état du disque et du lecteur

Récupération de l’état de gravure

IWMPCdromCollection, interface