Чтобы уточнить другие ответы: вам нужно использовать CreateDIBSection для создания растровых изображений в интересующих вас форматах: 16bpp и 32bpp.
Удобной функцией этой функции является то, что она возвращает указатель на буфер памяти с данными пикселей, что позволяет легко инициализировать растровое изображение из одного источника и извлекать данные пикселей для передачи в библиотеку кодировщика.
Исходное растровое изображение не обязательно должно быть DIBSection, это может быть любой тип HBITMAP (если он совместим с HDC, в который вы пытаетесь его выбрать - но библиотека снимков экрана будет давать вам совместим с DC HBITMAP, если он вообще дает вам HBITMAP)
Затем можно использовать BitBlt, чтобы заставить драйвер устройства выполнить преобразование формата.