Récupération de l’interface d’extraction

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

En utilisant les méthodes d' extraction de _ nombre et d' élément , vous pouvez effectuer une itération de la collection pour récupérer une interface IWMPCdrom pour chaque lecteur de CD sur l’ordinateur de l’utilisateur.

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

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

HRESULT CMainDlg::GetCdromDriveCount (long &lDriveCount)
{
    HRESULT 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::GetCdromRipInterface (long lIndex)
{
    // Get the IWMPCdrom interface.
    m_spCdrom.Release();
    HRESULT hr = m_spCdromCollection->item(lIndex, &m_spCdrom);
    if (SUCCEEDED(hr))
    {
        // Get the IWMPCdromRip interface.
        m_spCdromRip.Release();
        hr = m_spCdrom->QueryInterface(&m_spCdromRip);
    }

    return hr;
}

Extraction d’un CD

Démarrage du processus RIP

Récupération de l’État RIP

Sélection d’éléments pour l’extraction

Interface IWMPCdromCollection