Compartilhar via


Etapa 9. Desconectar a página de propriedades

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Substitua o método CBasePropertyPage::OnDisconnect para liberar as interfaces obtidas no método OnConnect . Além disso, se o usuário ignorar a folha de propriedades sem confirmar as alterações, você deverá restaurar os valores originais se eles tiverem sido alterados. Não há nenhum método "OnCancel" que é chamado quando o usuário cancela, portanto, você precisa controlar se o usuário chamou OnApplyChanges. Este exemplo usa a variável m_lVal, descrita anteriormente:

HRESULT CGrayProp::OnDisconnect(void)
{
    if (m_pGray)
    {
        // If the user clicked OK, m_lVal holds the new value.
        // Otherwise, if the user clicked Cancel, m_lVal is the old value.
        m_pGray->SetSaturation(m_lVal);  
        m_pGray->Release();
        m_pGray = NULL;
    }
    return S_OK;
}

Próximo: Etapa 10. Suporte ao registro COM

Criando uma página de propriedades de filtro