Code:
#include "utilstrencodings.h"
std::vector<unsigned char> vec = ParseHex("0396f8781a4900372a5d72d84718d146170d5983e67dff8b4a28fef80690c09767");
CPubKey pubkey(vec);
if (pubkey.IsValid()) {
cout << "valid" << endl;
} else {
cout << "invalid" << endl;
}