Étape 9. Déconnecter la page de propriétés

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, 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.]

Remplacez la méthode CBasePropertyPage::OnDisconnect pour libérer toutes les interfaces que vous avez obtenues dans la méthode OnConnect . En outre, si l’utilisateur ignore la feuille de propriétés sans valider les modifications, vous devez restaurer les valeurs d’origine si elles ont changé. Il n’existe aucune méthode « OnCancel » appelée lorsque l’utilisateur annule. Vous devez donc vérifier si l’utilisateur a appelé OnApplyChanges. Cet exemple utilise la variable m_lVal, décrite précédemment :

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

Suivant : Étape 10. Prise en charge de l’inscription COM

Création d’une page de propriétés de filtre