<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme bei der übergabe von binären Daten an eine WinApi-Funktion]]></title><description><![CDATA[<p>Hi</p>
<p>Ich möchste binäre Daten aus der Registry auslesen und diese dann an die WinApi-Funktion <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/cryptunprotectdata.asp" rel="nofollow">CryptUnprotectData</a><br />
übergeben.<br />
Wenn ich die Daten jetzt auf folgende Weise auslese:</p>
<pre><code class="language-cpp">#include &lt;Registry.hpp&gt;
#include &lt;Wincrypt.h&gt; 

int main()
{
 Byte data[1000];

 DATA_BLOB blob; // DWORD cbData; BYTE* pbData;

 TRegistry * pReg = new TRegistry;

 pReg-&gt;RootKey = HKEY_CURRENT_USER;

 blob.cbData=pReg-&gt;GetDataSize(&quot;MessageLoggingEnabled&quot;);
 pReg-&gt;OpenKey(&quot;\\Software\\Microsoft\\MSNMessenger\\PerPassportSettings\\1268070507&quot;, false);
 pReg-&gt;ReadBinaryData(&quot;MessageLoggingEnabled&quot;, data, pReg-&gt;GetDataSize(&quot;MessageLoggingEnabled&quot;));

 delete pReg;

 blob.pbData=data;

 return 0;
}
</code></pre>
<p>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.<br />
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.</p>
<p>Danke schon mal<br />
Gruß derBiber</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155373/probleme-bei-der-übergabe-von-binären-daten-an-eine-winapi-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 20:56:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155373.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 05 Aug 2006 11:57:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei der übergabe von binären Daten an eine WinApi-Funktion on Sat, 05 Aug 2006 11:57:17 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Ich möchste binäre Daten aus der Registry auslesen und diese dann an die WinApi-Funktion <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/cryptunprotectdata.asp" rel="nofollow">CryptUnprotectData</a><br />
übergeben.<br />
Wenn ich die Daten jetzt auf folgende Weise auslese:</p>
<pre><code class="language-cpp">#include &lt;Registry.hpp&gt;
#include &lt;Wincrypt.h&gt; 

int main()
{
 Byte data[1000];

 DATA_BLOB blob; // DWORD cbData; BYTE* pbData;

 TRegistry * pReg = new TRegistry;

 pReg-&gt;RootKey = HKEY_CURRENT_USER;

 blob.cbData=pReg-&gt;GetDataSize(&quot;MessageLoggingEnabled&quot;);
 pReg-&gt;OpenKey(&quot;\\Software\\Microsoft\\MSNMessenger\\PerPassportSettings\\1268070507&quot;, false);
 pReg-&gt;ReadBinaryData(&quot;MessageLoggingEnabled&quot;, data, pReg-&gt;GetDataSize(&quot;MessageLoggingEnabled&quot;));

 delete pReg;

 blob.pbData=data;

 return 0;
}
</code></pre>
<p>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.<br />
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.</p>
<p>Danke schon mal<br />
Gruß derBiber</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1111007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1111007</guid><dc:creator><![CDATA[derBiber]]></dc:creator><pubDate>Sat, 05 Aug 2006 11:57:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei der übergabe von binären Daten an eine WinApi-Funktion on Sat, 05 Aug 2006 15:05:13 GMT]]></title><description><![CDATA[<p>Warum liest du das nicht gleich an diese Adresse</p>
<p>blob.pbData</p>
<p>ein??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1111129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1111129</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Sat, 05 Aug 2006 15:05:13 GMT</pubDate></item></channel></rss>