Вы не можете сделать это, по крайней мере, я вполне уверен, что вы не можете указать интерфейс для отправки запросов с помощью gethostbyname () или любой из стандартных утилит сокетов.(Для этого может быть очень эзотерическая опция win32, но я держу пари на это)
Если вам абсолютно необходима эта функция, вам нужно будет выбрать стороннюю библиотеку DNS, которая предоставляет вам такуюВозможность ... или даже написать один из Scatch.
Библиотека должна будет предоставить вам средство привязки сокета UDP, который будет отправлять DNS-запросы на указанный адрес.
Также может быть способ настройки Windows для выдачи DNS-запросов из интерфейса с использованием системных настроек , но я сильно сомневаюсь, что есть способ сделать это из программы.