Probleme bei der übergabe von binären Daten an eine WinApi-Funktion
-
Hi
Ich möchste binäre Daten aus der Registry auslesen und diese dann an die WinApi-Funktion CryptUnprotectData
übergeben.
Wenn ich die Daten jetzt auf folgende Weise auslese:#include <Registry.hpp> #include <Wincrypt.h> int main() { Byte data[1000]; DATA_BLOB blob; // DWORD cbData; BYTE* pbData; TRegistry * pReg = new TRegistry; pReg->RootKey = HKEY_CURRENT_USER; blob.cbData=pReg->GetDataSize("MessageLoggingEnabled"); pReg->OpenKey("\\Software\\Microsoft\\MSNMessenger\\PerPassportSettings\\1268070507", false); pReg->ReadBinaryData("MessageLoggingEnabled", data, pReg->GetDataSize("MessageLoggingEnabled")); delete pReg; blob.pbData=data; return 0; }stehen in 'data' zwar die Daten die ich haben will aber in 'blob.pbData' nurnoch die ersten drei Zeichen weil danach in 'data' 0x00 steht.
Ich weis, dass das passiert weil Byte in der C++Implementierung ein unsigned char ist aber die Frage ist wie man das umgehen kann weil meine Funktion ja den gesammten Datensatz braucht.Danke schon mal
Gruß derBiber
-
Warum liest du das nicht gleich an diese Adresse
blob.pbData
ein??