擷取 CD 燒錄介面

[與此頁面相關聯的功能Windows 媒體播放機 SDK是舊版功能。 MediaPlayer已取代它。 MediaPlayer已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用MediaPlayer,而不是Windows 媒體播放機 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

若要列舉使用者電腦上的 CD 磁片磁碟機,請使用 IWMPCdromCollection 介面。 您可以呼叫 IWMPCore::get_cdromCollection來擷取此介面的指標。

藉由使用 get_count專案 方法,您可以逐一查看集合,以擷取使用者電腦上每個 CD 磁片磁碟機的 IWMPCdrom 介面指標。

IWMPCdrom介面代表個別的 CD 磁片磁碟機。 開始進行 CD 的處理之前,您必須先透過IWMPCdrom指標呼叫QueryInterface,以擷取IWMPCdrom 元件介面的指標。

下列程式碼範例示範如何擷取介面,以將 CD 複製到特定磁片磁碟機:

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;
}

燒錄 CD

啟動 Burn Process

清除可重寫的 CD

擷取磁片磁碟機和磁片磁碟機狀態

擷取正在擷取

IWMPCdromCollection 介面