http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1206.txt の

//パレット(RGBQUAD構造体)の終わりの位置の取得
offSet = *(LPDWORD)(*buf + 10);

は、コメントの通り、ビットマップメモリの始めから、
パレットの終わりの位置を得る式だと思うんですけど、
(1,24ビットなら54+0、4ビットなら54+16*4、8ビットなら54+256*4)
なぜこの式でそれが得られるのでしょうか。