<?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[DllRegisterServer wird nicht gefunden]]></title><description><![CDATA[<p>Hi,</p>
<p>ich versuch mich an einem Plugin als DLL.<br />
Deshalb wollte ich probeweise mal das Projekt hier erstellen:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/samples/bands/bandobjs_cpp.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/samples/bands/bandobjs_cpp.asp</a></p>
<p>Kompiliert und gelinkt kriege ich die DLL soweit, aber das registrieren mit regsvr32.exe klappt nicht.</p>
<blockquote>
<p>myban.dll wurde geladen, aber der DLLRegisterServer-Einsprungspunkt wurde nicht gefunden.</p>
</blockquote>
<p>Hier mal die 2 wichtigen Deklarationen.</p>
<pre><code class="language-cpp">extern &quot;C&quot; BOOL WINAPI DllMain(HINSTANCE hInstance, 
                               DWORD dwReason, 
                               LPVOID lpReserved);

STDAPI DllRegisterServer(void);
</code></pre>
<p>DllMain wird auf jeden Fall aufgerufen, das habe ich per MessageBox und mit dem Debugger geprüft.<br />
Nur DllRegisterServer nicht. Das ist doch aber die Funktion, die er meint, oder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
STDAPI sollte doch dafür sorgen, dass die Funktion richtig exportiert wird?</p>
<p>Laut dumpbin exportiert die dll gar keine Funktionen, nichtmal DllMain.<br />
Aber warum wird sie dann trozdem aufgerufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>thx für Ratschläge <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT: Achso ja, Compiler ist <a href="http://VC.net" rel="nofollow">VC.net</a> 7.1</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/95907/dllregisterserver-wird-nicht-gefunden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 23:54:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/95907.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Dec 2004 12:43:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 12:44:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich versuch mich an einem Plugin als DLL.<br />
Deshalb wollte ich probeweise mal das Projekt hier erstellen:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/samples/bands/bandobjs_cpp.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/samples/bands/bandobjs_cpp.asp</a></p>
<p>Kompiliert und gelinkt kriege ich die DLL soweit, aber das registrieren mit regsvr32.exe klappt nicht.</p>
<blockquote>
<p>myban.dll wurde geladen, aber der DLLRegisterServer-Einsprungspunkt wurde nicht gefunden.</p>
</blockquote>
<p>Hier mal die 2 wichtigen Deklarationen.</p>
<pre><code class="language-cpp">extern &quot;C&quot; BOOL WINAPI DllMain(HINSTANCE hInstance, 
                               DWORD dwReason, 
                               LPVOID lpReserved);

STDAPI DllRegisterServer(void);
</code></pre>
<p>DllMain wird auf jeden Fall aufgerufen, das habe ich per MessageBox und mit dem Debugger geprüft.<br />
Nur DllRegisterServer nicht. Das ist doch aber die Funktion, die er meint, oder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
STDAPI sollte doch dafür sorgen, dass die Funktion richtig exportiert wird?</p>
<p>Laut dumpbin exportiert die dll gar keine Funktionen, nichtmal DllMain.<br />
Aber warum wird sie dann trozdem aufgerufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>thx für Ratschläge <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT: Achso ja, Compiler ist <a href="http://VC.net" rel="nofollow">VC.net</a> 7.1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680526</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 25 Dec 2004 12:44:55 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 16:31:03 GMT]]></title><description><![CDATA[<p>Kann es sein das du dumpbin nicht richtig aufgerufen hast, denn wen DllMain nach<br />
deinen eigenen Aussagen aufgerufen wird, dann muss es ja wohl exportiert werden.<br />
das DllRegisterServer erst aufgerufen wird wenn du die COM-Komponente registrierst<br />
ist dir ja wohl hoffentlich klar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>mfg JJ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680613</guid><dc:creator><![CDATA[John Doe]]></dc:creator><pubDate>Sat, 25 Dec 2004 16:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 17:23:29 GMT]]></title><description><![CDATA[<p>Du brauchst noch eine DEF-Datei um den Export-Namen richtig zu setzen.<br />
Expotierst du die Funktion überhaupt? Im gezeigten Quellcode hast du ja kein __declspec(dllexport).</p>
<p>Aber am besten mit Dependency Walker nachschauen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680638</guid><dc:creator><![CDATA[aaaaa]]></dc:creator><pubDate>Sat, 25 Dec 2004 17:23:29 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 21:13:43 GMT]]></title><description><![CDATA[<p>Danke euch beiden für eure Antworten.</p>
<p>Also DllMain wird definitiv aufgerufen.<br />
dumpbin hab ich mit dem Parametet -exports und dem DllNamen aufgerufen.<br />
Da wurden nur die CodeSegmente aufgelisted.</p>
<p>Und ein __declspec(dllexport) vor der DllRegisterServer bezeichnet der Compiler als redundant. (Vermutlich, weil STDAPI das schon enthält???).</p>
<p>Mal ne blöde Frage: Wo starte ich den Dependency Walker? Ich glaube, dass er bei VC 6 mit dabei war, aber jetzt hab ich <a href="http://V-Studio.net" rel="nofollow">V-Studio.net</a> 2003 und kann ich ihn nicht mehr finden. Hab ich nur vergessen, den mitzuinstallieren oder wo ist der versteckt?</p>
<blockquote>
<p>das DllRegisterServer erst aufgerufen wird wenn du die COM-Komponente registrierst<br />
ist dir ja wohl hoffentlich klar.</p>
</blockquote>
<p>Äh,<br />
also regsvr32.exe ruft die Funktion doch auf, wenn DllMain TRUE zurückgegeben hat, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680759</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 25 Dec 2004 21:13:43 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 21:14:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Dependency Walker</p>
</blockquote>
<p>google und runterladen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680762</guid><dc:creator><![CDATA[google]]></dc:creator><pubDate>Sat, 25 Dec 2004 21:14:58 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 21:37:48 GMT]]></title><description><![CDATA[<p>Danke, habs mit dem Walker jetzt getestet.<br />
DllMain war tatsächlich nicht als exportiert gekennzeichnet, obwohl sie trozdem aufgerufen wurde von regsvr32.exe.</p>
<p>Ich habe sie jetzt mit __declspec(dllexport) erweitert und nun ist sie es.</p>
<p>Aber DllRegisterServer kann ich nicht auf diese Weise verändern, da in der &quot;olectl.h&quot; eine Deklaration steht:</p>
<pre><code class="language-cpp">/////////////////////////////////////////////////////////////////////////////
// Self-registration APIs (to be implemented by server DLL)

STDAPI DllRegisterServer(void);
STDAPI DllUnregisterServer(void);
</code></pre>
<p>STDAPI ist ein Makro, das heißt: extern &quot;C&quot; HRESULT __stdcall<br />
Also kann ich es nicht verändern, wenn es schon so vorgegeben wird.<br />
Muss ich dazu jetzt so ein DEF von hand erstellen, um das doch noch zu exportieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680776</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 25 Dec 2004 21:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 21:44:38 GMT]]></title><description><![CDATA[<p>Hah,</p>
<p>er hats <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Der Trick lag wirklich darin, von Hand eine Def-Datei zu schreiben.</p>
<p>:xmas1: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/680781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680781</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 25 Dec 2004 21:44:38 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 22:56:49 GMT]]></title><description><![CDATA[<p>DllMain muss auch nicht exportiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680822</guid><dc:creator><![CDATA[exporter]]></dc:creator><pubDate>Sat, 25 Dec 2004 22:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 23:14:48 GMT]]></title><description><![CDATA[<p>Ja müsste eigentlich, aber die findet er auch so, komischerweise.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/680828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680828</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 25 Dec 2004 23:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to DllRegisterServer wird nicht gefunden on Sat, 25 Dec 2004 23:45:42 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/680833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/680833</guid><dc:creator><![CDATA[exporter]]></dc:creator><pubDate>Sat, 25 Dec 2004 23:45:42 GMT</pubDate></item></channel></rss>