В целом, обычно можно рассматривать отдельный контекст OpenGL как окно, особенно в окнах.
Контекст устройства будет (обычно) сопоставляться с дескриптором окна (HWND). На самом деле это DC (дескриптор HDC), но обычно вы связываете один HDC с одним HWND. В Windows вы создадите окно для использования на основе окна на экране, где вы хотите визуализировать.
Как правило, вы будете повторно использовать этот контекст устройства для всего времени выполнения вашего приложения. Если вы хотите выполнить рендеринг в другое окно, вам нужно сгенерировать контекст устройства (HDC) для нового дескриптора окна. Кроме того, рендеринг за кадром немного отличается, так как для этого вы также создадите совместимый контекст устройства.
Что касается ваших вопросов:
1) Когда вы создаете окно, в котором вы хотите выполнить рендеринг, вы берете контекст устройства и используете его в течение всего времени жизни этого окна.
2) Вы всегда захотите использовать контекст устройства, созданный для окна, в котором вы рендеритесь.