<?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[Struktur als Parameter dem _beginthreadex übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte bei meinem Threadaufruf, dem Thread als Parameter eine Struktur mitliefern deren Werte im Thread benötigt, gefüllt und auch zurückgegeben werden.</p>
<p>hier mal die Struktur:</p>
<pre><code class="language-cpp">typedef struct _data{
	char			recvBuff[SCANBUFFERSIZE];	//wird gefüllt und zurückgegeben
	int			buff_len;				//wird gefüllt und zurückgegeben
	int			ping;					//wird gefüllt und zurückgegeben
	int			id;					//wird im Thread ausgelesen
	boolean		ok;					//wird gefüllt und zurückgegeben
}data_t;
</code></pre>
<p>die aufrufenden Funktionen sehen so aus:</p>
<pre><code class="language-cpp">void Query_Thread(data_t *Data){
	:
	:
	:
	:
	_endthreadex(0);
}

void  Query_Server(int value){

	data_t			Data;
	HANDLE		hThrd;
	DWORD			Thrd_ID;

	memset(&amp;Data, 0, sizeof(data_t));
	Data.id = value;
	hThrd = (HANDLE)_beginthreadex(NULL, 0, (void *)Query_Thread, (void *)Data, 0, &amp;Thrd_ID);
	if(hThrd){
		CloseHandle(hThrd);
	}
	:
	:
	:
}
</code></pre>
<p>Leider funktioniert das so nicht weil der Cmpiler bei der Übergabe von (void *)Data meckert, und sagt der cast geht so nicht. Wie muss ich das Ganze richtig machen? ich probier jetzt schon den ganzen Morgen rum und verzeifele langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224599/struktur-als-parameter-dem-_beginthreadex-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:09:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224599.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Oct 2008 12:22:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Sun, 12 Oct 2008 12:22:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte bei meinem Threadaufruf, dem Thread als Parameter eine Struktur mitliefern deren Werte im Thread benötigt, gefüllt und auch zurückgegeben werden.</p>
<p>hier mal die Struktur:</p>
<pre><code class="language-cpp">typedef struct _data{
	char			recvBuff[SCANBUFFERSIZE];	//wird gefüllt und zurückgegeben
	int			buff_len;				//wird gefüllt und zurückgegeben
	int			ping;					//wird gefüllt und zurückgegeben
	int			id;					//wird im Thread ausgelesen
	boolean		ok;					//wird gefüllt und zurückgegeben
}data_t;
</code></pre>
<p>die aufrufenden Funktionen sehen so aus:</p>
<pre><code class="language-cpp">void Query_Thread(data_t *Data){
	:
	:
	:
	:
	_endthreadex(0);
}

void  Query_Server(int value){

	data_t			Data;
	HANDLE		hThrd;
	DWORD			Thrd_ID;

	memset(&amp;Data, 0, sizeof(data_t));
	Data.id = value;
	hThrd = (HANDLE)_beginthreadex(NULL, 0, (void *)Query_Thread, (void *)Data, 0, &amp;Thrd_ID);
	if(hThrd){
		CloseHandle(hThrd);
	}
	:
	:
	:
}
</code></pre>
<p>Leider funktioniert das so nicht weil der Cmpiler bei der Übergabe von (void *)Data meckert, und sagt der cast geht so nicht. Wie muss ich das Ganze richtig machen? ich probier jetzt schon den ganzen Morgen rum und verzeifele langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597765</guid><dc:creator><![CDATA[Angle-No]]></dc:creator><pubDate>Sun, 12 Oct 2008 12:22:01 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Sun, 12 Oct 2008 12:54:40 GMT]]></title><description><![CDATA[<p>du weisst nicht was pointer sind. grundlagen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597778</guid><dc:creator><![CDATA[ascda]]></dc:creator><pubDate>Sun, 12 Oct 2008 12:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Mon, 13 Oct 2008 04:19:11 GMT]]></title><description><![CDATA[<p>Und wie wirds dann richtig gemacht, dein Antwort hat mal garnix geholfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1597991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597991</guid><dc:creator><![CDATA[Angle-No]]></dc:creator><pubDate>Mon, 13 Oct 2008 04:19:11 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Mon, 13 Oct 2008 05:19:49 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Query_Thread(data_t *pData)
{
  // ...
  delete pData;
}

data_t            *pData; 
pData = new data_t;
// ...
_beginthreadex(..., (void *)pData, ...);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1597997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1597997</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Oct 2008 05:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Mon, 13 Oct 2008 15:27:37 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<pre><code class="language-cpp">delete pData;
</code></pre>
</blockquote>
<p>Danke für die Antwort, aber was ist mit den Daten mit der ich die Struktur füllen und zurück geben möchte? Die Funktion die den Threat startet wartet auf die Daten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598318</guid><dc:creator><![CDATA[Angle-No]]></dc:creator><pubDate>Mon, 13 Oct 2008 15:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Mon, 13 Oct 2008 15:36:17 GMT]]></title><description><![CDATA[<p>qwas soll das denn bringen OPL. dann musst du das eben signalisieren mit event flag oder warten bis der thread fertig ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598324</guid><dc:creator><![CDATA[ascda]]></dc:creator><pubDate>Mon, 13 Oct 2008 15:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Parameter dem _beginthreadex übergeben on Mon, 13 Oct 2008 19:25:32 GMT]]></title><description><![CDATA[<p>Dann löscht Du natürlich die Daten nicht im Thread, sondern wenn Du die Daten ausserhlab ausgewertet hast...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598433</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 13 Oct 2008 19:25:32 GMT</pubDate></item></channel></rss>