Você não pode fazer uma troca como você está propondo. Seus aplicativos já abriram um identificador para um buffer que está sendo lido por um driver de placa de som específico. A razão para isso vai além da simples preguiça. Placas de som diferentes suportam recursos totalmente diferentes, e seu aplicativo precisa levar em consideração esses recursos diferentes. Principalmente, taxas de amostragem possíveis, profundidades de bits e controle do mixer, se aplicável.
Agora, em relação ao mapeamento de aplicativos para uma saída específica ... isso é específico do aplicativo. Por exemplo, os plugins de saída do Winamp suportam a escolha de um dispositivo de som específico. Você pode configurar o Winamp para reproduzir sua música da sua placa de som principal conectada a seus alto-falantes e definir sua placa de som padrão para qualquer fone de ouvido conectado, para que seus jogos sejam reproduzidos automaticamente.
Por fim, se você espera obter saídas diferentes da placa de som para o fone de ouvido em comparação com o conector do alto-falante, não o faça. Sua placa de som os impulsiona com a mesma saída. Dependendo da sua placa de som, você pode usar suas saídas de som surround como uma saída separada, isso é específico do dispositivo.