BYTEpbData[1024];
こうやった時に何が入ってると思ってんだ?

BYTE pbData[1024]="";
こうやったら '\0' が入るのは理解したんだよな?