You want to send a binary data byte containing a (decimal) number in the range of 0 to 100 (0x64). Your member variable
m_itemno
already contains this value. So you might use this:
unsigned char data = static_cast<unsigned char>(m_itemno & 0xFF);
bool retval = WriteFile(hport,&data,1,&byteswritten,NULL);
Because Intel processors use Little-Endian byte order (least significant byte is stored at lowest address) you may even use:
bool retval = WriteFile(hport,&m_itemno,1,&byteswritten,NULL);