Uuugh! Bem-vindo à Windows GDI! Só para dar uma idéia básica, vou enumerar alguns passos (é mais ou menos isso, no final há um link para exemplos reais):
Você vai precisar carregar a DLL, obtendo um handle para ela:
HINSTANCE hInstance = ::LoadLibrary("qcard32.dll"
Carregar o bitmap, usando LoadBitmap ou LoadImage, obtendo um handle para ele e passando como parâmetro o handle para a DLL:
HBITMAP hBitmap = :: LoadBitmap(hInstance, <nome do bitmap OU resource identifier>
Criar um memory device context (DC) para armazenar o bitmap e selecioná-lo dentro desse DC:
HDC hOrigemDC = ::CreateCompatibleDC(NULL);
::SelectObject(hOrigemDC, hBitmap);
Obter as dimensões do bitmap:
BITMAP bitmap;
::GetObject(hBitmap, sizeof(bitmap), &bitmap);
int largura = bitmap.bmWidth;
int altura = bitmap.bwHeight;
Obter um handle para o device context destino:
hDestinoDC = <blá, blá, blá, ...>
Copiar a imagem do DC origem (que contém o bitmap) para o DC destino:
::BitBlt(hDestinoDC,
<coordenada x do destino>,
<coordenada y do destino>,
largura,
altura,
hOrigemDC,
<coordenada x da origem>,
<coordenada x do destino>,
<tipo de raster-operation>
Você vai precisar também liberar (nos momentos adequados) os recursos GDI alocados, para evitar resource leaks, e também liberar a DLL carregada.
Com relação à API Win32, essa é apenas uma visão distante da ponta do iceberg. As funções de GDI da API Win32 vão muito além disso.
Exemplos:
http://www.catch22.net/tuts/cardtut2.asp
http://www.gamedev.net/reference/programming/features/gpgenesis6/