Évidemment il faut que ce soit une image de 256 couleurs ou moins pour quil y ait une table.
Si tu lis correctement les entêtes, la table est dedans.
Le Fichier BMP commence par la structure BITMAPFILEHEADER.
La structure BITMAPINFO suit immédiatement.
Ces structures sont décrites dans <WinGdi.h>.
BITMAPINFO.bmiHeader.biClrUsed te donne le nombre de couleur. Attention ce peut être 0 et dans ce cas cest 256 pour du 8 bits, 16 pour du 4 etc. (1 << BITMAPINFO.bmiHeader.biBitcount).
Ensuite tu nas quà utiliser BITMAPINFO.bmiHeader.bmiColors[] pour retrouver tes couleurs (tableau de RGBQUAD).
Les données de limage suivent. Attention, elles sont souvent compressées en RLE pour du 256 couleurs. BITMAPINFO.bmiHeader.biCompression te lindique.