ciao ho un problema nella conversione da unsigned char a Byte , penso :

HCRYPTKEY hPubKey ;//chiave Pubblica
file publicKey.h
codice:
unsigned char PublicKey[148]=
{
	0x06,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x52,0x53,0x41,
	0x31,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0xAF,0xAE,
	0x59,0xED,0xCB,0x62,0x68,0xC4,0x02,0x77,0x38,0x8A,0xA6,
	0x65,0x21,0x40,0x74,0xBE,0x63,0xDA,0x52,0xCD,0xD1,0x3E,
	0xEB,0x4F,0xFC,0xA5,0x05,0x7F,0x69,0x18,0x84,0x54,0x8D,
	0x85,0x9F,0xC2,0x5B,0x28,0x2F,0x8D,0x20,0x6A,0x20,0x5C,
	0xCD,0x37,0x26,0xD9,0xC2,0x0A,0x3E,0xA9,0xA5,0x5A,0x73,
	0x0C,0x3E,0x0D,0x37,0x32,0xB8,0xDB,0xDA,0xDD,0x17,0xE5,
	0xD1,0x69,0xC0,0x37,0xCD,0x98,0x92,0x13,0x5F,0x1E,0x4E,
	0x30,0x21,0xD3,0x2C,0xCF,0xE7,0xBE,0x04,0x50,0x89,0x9C,
	0x9D,0xF3,0x2E,0x81,0x62,0xCE,0x49,0x29,0xE8,0x25,0x4E,
	0x9F,0x3E,0xD4,0xDB,0xD5,0xDE,0xD8,0xCB,0x39,0x98,0xC9,
	0xE4,0xF7,0xC8,0xD6,0xFE,0x65,0x5C,0xAE,0x31,0x65,0x37,
	0xB9,0xB8,0xBE,0x37,0xC6,
};
codice:
BYTE* pb = new BYTE[sizeof(PublicKey)];
memcpy(pb, PublicKey, sizeof(PublicKey));

if(!CryptImportKey(hProv, pb, sizeof(pb), 0, 0, &hPubKey)){
    ///ERRORE! !!!!!!!!!!!!!
}

questo codice che mi funziona sotto xp non va sotto win 7 e non riesco a capire perchè!
trovate qualcosa di sbagliato?