Implementando CEcho::FinalConstruct

[O recurso associado a esta página, Reprodutor Multimídia do Windows SDK, é um recurso herdado. Foi substituído pelo MediaPlayer. O MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o MediaPlayer em vez de Reprodutor Multimídia do Windows SDK, 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.]

O método CEcho::FinalConstruct é implementado em Echo.cpp. Ele contém código para ler os valores de propriedade do registro quando Reprodutor Multimídia do Windows instancia o objeto de plug-in DSP. Isso é importante porque permite que as configurações do usuário persistam entre instâncias do objeto, bem como entre sessões. O código de exemplo do assistente de plug-in fornece implementação para ler uma única propriedade do registro. Você pode modificar esse código para manipular a propriedade de tempo de atraso e, em seguida, adicionar código para ler o valor da propriedade de combinação molhada.

O código de exemplo a seguir lê cada valor de propriedade do registro e armazena cada um na variável de membro correta:

CRegKey key;
LONG    lResult;
DWORD   dwValue;

lResult = key.Open(HKEY_CURRENT_USER, kszPrefsRegKey, KEY_READ);
if (ERROR_SUCCESS == lResult)
{
    // Read the delay time from the registry. 
    lResult = key.QueryValue(dwValue, kszPrefsDelayTime );
    if (ERROR_SUCCESS == lResult)
    {
        m_dwDelayTime = dwValue;
    }

    // Read the wet mix value from the registry. 
    lResult = key.QueryValue(dwValue, kszPrefsWetmix );
    if (ERROR_SUCCESS == lResult)
    {
        // Convert the DWORD to a double.
        m_fWetMix = (double)dwValue / 100;
        // Calculate the dry mix value.
        m_fDryMix = 1.0 - m_fWetMix;
    }

}

return S_OK;

Observe que o valor DWORD para a combinação molhada é convertido em um valor de ponto flutuante. Observe também que o código calcula o valor correto para m_fDryMix.

Modificando a página de propriedades de exemplo de eco