<?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[CoCreateInstance laesst Programm abstürzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meine Programm verschaffe ich mir mit Hilfe von OleInitialize(NULL) zugriff auf die COM Objekte.<br />
Ich erhalte S_OK als Rückgabewert.</p>
<p>Versuche ich danach jetzt mit CoCreateInstance() ein Object zu erzeugen beendet sich mein Programm.</p>
<pre><code>[cpp]
bool Signaturpad::getInterface()
{   
    //CF449225-A5C6-4E11-A5DE-9C1A3B146AF1
    CLSID   CLSID_IPadTopaz = {0xCF449225, 0xA5C6, 0x4E11, 0xA5, 0xDE, 0x9C, 0x1A, 0x3B, 0x14, 0x6A, 0xF1};
    //26CBB48B-3BA4-4C64-AF8A-38432A35AFFB
    IID     IID_Pad         = {0x26CBB48B, 0x3BA4, 0x4C64, 0xAF, 0x8A, 0x38, 0x43, 0x2A, 0x35, 0xAF, 0xFB};

    HRESULT   result;

    result = OleInitialize(NULL);

    switch(result) {
        case E_INVALIDARG:
            cout &lt;&lt; &quot;E_INVALIDARG&quot; &lt;&lt; endl;
            break;

        case E_OUTOFMEMORY:
            cout &lt;&lt; &quot;E_OUTOFMEMORY&quot; &lt;&lt; endl;
            break;

        case E_UNEXPECTED:
            cout &lt;&lt; &quot;E_UNEXPECTED&quot; &lt;&lt; endl;
            break;

        case S_OK :
            cout &lt;&lt; &quot;S_OK &quot; &lt;&lt; endl;
            break;

        case S_FALSE  :
            cout &lt;&lt; &quot;S_FALSE  &quot; &lt;&lt; endl;
            break;

        case OLE_E_WRONGCOMPOBJ   :
            cout &lt;&lt; &quot;OLE_E_WRONGCOMPOBJ   &quot; &lt;&lt; endl;
            break;

        case RPC_E_CHANGED_MODE   :
            cout &lt;&lt; &quot;RPC_E_CHANGED_MODE   &quot; &lt;&lt; endl;
            break;
    }
    system(&quot;PAUSE&quot;);

    result = CoCreateInstance(CLSID_IPadTopaz,
					NULL,
					CLSCTX_INPROC_SERVER,
					IID_Pad,
					(void **)this-&gt;pad);

    switch(result) {
        case REGDB_E_CLASSNOTREG:
            cout &lt;&lt; &quot;REGDB_E_CLASSNOTREG&quot; &lt;&lt; endl;
            break;

        case E_OUTOFMEMORY:
            cout &lt;&lt; &quot;CLASS_E_NOAGGREGATION &quot; &lt;&lt; endl;
            break;

        case E_NOINTERFACE :
            cout &lt;&lt; &quot;E_NOINTERFACE &quot; &lt;&lt; endl;
            break;

        case S_OK :
            cout &lt;&lt; &quot;S_OK &quot; &lt;&lt; endl;
            break;
    }

    return true;
}
[/cpp]
</code></pre>
<p>habe ich etwas falsch verstanden oder nicht beachtet?</p>
<p>mfg dave.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156269/cocreateinstance-laesst-programm-abstürzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 09:41:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156269.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Aug 2006 11:02:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CoCreateInstance laesst Programm abstürzen on Tue, 15 Aug 2006 11:02:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meine Programm verschaffe ich mir mit Hilfe von OleInitialize(NULL) zugriff auf die COM Objekte.<br />
Ich erhalte S_OK als Rückgabewert.</p>
<p>Versuche ich danach jetzt mit CoCreateInstance() ein Object zu erzeugen beendet sich mein Programm.</p>
<pre><code>[cpp]
bool Signaturpad::getInterface()
{   
    //CF449225-A5C6-4E11-A5DE-9C1A3B146AF1
    CLSID   CLSID_IPadTopaz = {0xCF449225, 0xA5C6, 0x4E11, 0xA5, 0xDE, 0x9C, 0x1A, 0x3B, 0x14, 0x6A, 0xF1};
    //26CBB48B-3BA4-4C64-AF8A-38432A35AFFB
    IID     IID_Pad         = {0x26CBB48B, 0x3BA4, 0x4C64, 0xAF, 0x8A, 0x38, 0x43, 0x2A, 0x35, 0xAF, 0xFB};

    HRESULT   result;

    result = OleInitialize(NULL);

    switch(result) {
        case E_INVALIDARG:
            cout &lt;&lt; &quot;E_INVALIDARG&quot; &lt;&lt; endl;
            break;

        case E_OUTOFMEMORY:
            cout &lt;&lt; &quot;E_OUTOFMEMORY&quot; &lt;&lt; endl;
            break;

        case E_UNEXPECTED:
            cout &lt;&lt; &quot;E_UNEXPECTED&quot; &lt;&lt; endl;
            break;

        case S_OK :
            cout &lt;&lt; &quot;S_OK &quot; &lt;&lt; endl;
            break;

        case S_FALSE  :
            cout &lt;&lt; &quot;S_FALSE  &quot; &lt;&lt; endl;
            break;

        case OLE_E_WRONGCOMPOBJ   :
            cout &lt;&lt; &quot;OLE_E_WRONGCOMPOBJ   &quot; &lt;&lt; endl;
            break;

        case RPC_E_CHANGED_MODE   :
            cout &lt;&lt; &quot;RPC_E_CHANGED_MODE   &quot; &lt;&lt; endl;
            break;
    }
    system(&quot;PAUSE&quot;);

    result = CoCreateInstance(CLSID_IPadTopaz,
					NULL,
					CLSCTX_INPROC_SERVER,
					IID_Pad,
					(void **)this-&gt;pad);

    switch(result) {
        case REGDB_E_CLASSNOTREG:
            cout &lt;&lt; &quot;REGDB_E_CLASSNOTREG&quot; &lt;&lt; endl;
            break;

        case E_OUTOFMEMORY:
            cout &lt;&lt; &quot;CLASS_E_NOAGGREGATION &quot; &lt;&lt; endl;
            break;

        case E_NOINTERFACE :
            cout &lt;&lt; &quot;E_NOINTERFACE &quot; &lt;&lt; endl;
            break;

        case S_OK :
            cout &lt;&lt; &quot;S_OK &quot; &lt;&lt; endl;
            break;
    }

    return true;
}
[/cpp]
</code></pre>
<p>habe ich etwas falsch verstanden oder nicht beachtet?</p>
<p>mfg dave.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117471</guid><dc:creator><![CDATA[Daveron]]></dc:creator><pubDate>Tue, 15 Aug 2006 11:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to CoCreateInstance laesst Programm abstürzen on Tue, 15 Aug 2006 11:04:27 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=10455" rel="nofollow">evilissimo</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117475</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 15 Aug 2006 11:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to CoCreateInstance laesst Programm abstürzen on Tue, 15 Aug 2006 11:57:32 GMT]]></title><description><![CDATA[<p>da hat sich doch wieder mal das verfluchte weggelassene &amp; eingeschlichen <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>Es läuft jetzt - der Thread kann also geschlossen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117523</guid><dc:creator><![CDATA[daveron]]></dc:creator><pubDate>Tue, 15 Aug 2006 11:57:32 GMT</pubDate></item></channel></rss>