Una cosa: BYTE[] y CHAR[] te refieres a arrays de tipos BYTE y CHAR?
En la api de windows se redefinen varios tipos de datos estandar:
Código C:
Ver originaltypedef wchar_t WCHAR;
typedef unsigned char BYTE;
typedef unsigned long DWORD;
typedef char CHAR;
Para convertir de char a wchar_t tienes la funcion MultiByteToWideChar
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Pero para convertir BYTE[8] (char[8]) a DWORD (unsigned long) no puedes hacerlo de forma directa. Seguramente ya habras visto que en los mensajes de windows es habitual recibir argumentos de tipo unsigned long (WPARAM, LPARAM, DWORD) formado por dos WORD (unsigned short) en forma de punteros (void *) a otros datos, tal vez sea esto lo que estas buscando.
Saludos
vosk