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
Tópicos relacionados