Share via


Paso 9. Desconectar la página de propiedades

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Invalide el método CBasePropertyPage::OnDisconnect para liberar las interfaces que obtuvo en el método OnConnect . Además, si el usuario descarta la hoja de propiedades sin confirmar los cambios, debe restaurar los valores originales si han cambiado. No hay ningún método "OnCancel" al que se llame cuando el usuario cancela, por lo que debe realizar un seguimiento de si el usuario ha llamado a OnApplyChanges. En este ejemplo se usa la variable 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;
}

Siguiente: Paso 10. Compatibilidad con el registro COM

Crear una página de propiedades de filtro