<?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[Absturz beim Zugriff auf Kartenleser ST-2052]]></title><description><![CDATA[<p>Hi,<br />
ich versuche über folgendens c++ Programm einen Kartenleser (ST-2052) anzusprechen um die Karte auszulesen. Doch kommt am Ende das Windows Fehlerbericht senden Fenster und das Programm beendet sich mit:Rückgabewert -1073741819<br />
Kann mir jemand helfen?</p>
<pre><code class="language-cpp">#include &quot;krv.h&quot;
#include &quot;ui_krv.h&quot;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;

#define MAXMEM 3000

typedef char (*CT_INIT) (USHORT, USHORT);
typedef char (*CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, UCHAR*);
typedef char (*CT_CLOSE) (USHORT);

HINSTANCE hDLL; CT_INIT CT_init; CT_DATA CT_data; CT_CLOSE CT_close;

int load_date()
{

return(0);
}

krv::krv(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::krv)
{
    ui-&gt;setupUi(this);
}

krv::~krv()
{
    delete ui;
}

void krv::on_pushButton_clicked()
{
    unsigned char sad, dad;
    unsigned char response [MAXMEM]={0};
    unsigned short int ctn, lenr;
    char res;
    ctn=1;

    hDLL = LoadLibrary(L&quot;ctpcsc32kv.dll&quot;);

    CT_init = (CT_INIT)GetProcAddress(hDLL,&quot;CT_init&quot;);
    CT_data = (CT_DATA)GetProcAddress(hDLL,&quot;CT_data&quot;);
    CT_close = (CT_CLOSE)GetProcAddress(hDLL,&quot;CT_close&quot;);
    CT_init(ctn,0);

    lenr=sizeof(MAXMEM);

    unsigned char COMMANDS[3][5] = {0x20, 0x11, 0x00, 0x00, 0x00, //ATR Reset
    0x20, 0x13, 0x00, 0x81, 0x00, //GetStatus
    0x20, 0x12, 0x01, 0x00, 0x00}; // REQUEST_ICC
    unsigned short COMMANDS_LEN[3] = {4, 5, 5};

    sad=2;
    dad=1;

    res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[0], COMMANDS[0],&amp;lenr,response);
    if(res!=0){ui-&gt;textEdit-&gt;setPlainText(&quot;Reset Fail&quot;);}

    if (response[lenr - 2] == 0x90 &amp;&amp; response[lenr - 1] == 0x00)
    {
        res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[1], COMMANDS[1],&amp;lenr,response);
        if(res!=0){ui-&gt;textEdit-&gt;setPlainText(&quot;GetStatus Fail&quot;);}

        res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[2], COMMANDS[2],&amp;lenr,response);
        if(res&lt;2){ui-&gt;textEdit-&gt;setPlainText(&quot;REQUEST_ICC Fail&quot;);}
    }else{
        ui-&gt;textEdit-&gt;setPlainText(&quot;Funktioniert&quot;);
    }
    ui-&gt;textEdit-&gt;setPlainText(reinterpret_cast &lt; const char* &gt;(response));

    res=CT_close(ctn);
    FreeLibrary (hDLL);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/250330/absturz-beim-zugriff-auf-kartenleser-st-2052</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 02:23:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250330.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Sep 2009 17:13:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Absturz beim Zugriff auf Kartenleser ST-2052 on Wed, 16 Sep 2009 17:13:03 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich versuche über folgendens c++ Programm einen Kartenleser (ST-2052) anzusprechen um die Karte auszulesen. Doch kommt am Ende das Windows Fehlerbericht senden Fenster und das Programm beendet sich mit:Rückgabewert -1073741819<br />
Kann mir jemand helfen?</p>
<pre><code class="language-cpp">#include &quot;krv.h&quot;
#include &quot;ui_krv.h&quot;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;

#define MAXMEM 3000

typedef char (*CT_INIT) (USHORT, USHORT);
typedef char (*CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, UCHAR*);
typedef char (*CT_CLOSE) (USHORT);

HINSTANCE hDLL; CT_INIT CT_init; CT_DATA CT_data; CT_CLOSE CT_close;

int load_date()
{

return(0);
}

krv::krv(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::krv)
{
    ui-&gt;setupUi(this);
}

krv::~krv()
{
    delete ui;
}

void krv::on_pushButton_clicked()
{
    unsigned char sad, dad;
    unsigned char response [MAXMEM]={0};
    unsigned short int ctn, lenr;
    char res;
    ctn=1;

    hDLL = LoadLibrary(L&quot;ctpcsc32kv.dll&quot;);

    CT_init = (CT_INIT)GetProcAddress(hDLL,&quot;CT_init&quot;);
    CT_data = (CT_DATA)GetProcAddress(hDLL,&quot;CT_data&quot;);
    CT_close = (CT_CLOSE)GetProcAddress(hDLL,&quot;CT_close&quot;);
    CT_init(ctn,0);

    lenr=sizeof(MAXMEM);

    unsigned char COMMANDS[3][5] = {0x20, 0x11, 0x00, 0x00, 0x00, //ATR Reset
    0x20, 0x13, 0x00, 0x81, 0x00, //GetStatus
    0x20, 0x12, 0x01, 0x00, 0x00}; // REQUEST_ICC
    unsigned short COMMANDS_LEN[3] = {4, 5, 5};

    sad=2;
    dad=1;

    res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[0], COMMANDS[0],&amp;lenr,response);
    if(res!=0){ui-&gt;textEdit-&gt;setPlainText(&quot;Reset Fail&quot;);}

    if (response[lenr - 2] == 0x90 &amp;&amp; response[lenr - 1] == 0x00)
    {
        res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[1], COMMANDS[1],&amp;lenr,response);
        if(res!=0){ui-&gt;textEdit-&gt;setPlainText(&quot;GetStatus Fail&quot;);}

        res=CT_data(ctn,&amp;dad,&amp;sad,COMMANDS_LEN[2], COMMANDS[2],&amp;lenr,response);
        if(res&lt;2){ui-&gt;textEdit-&gt;setPlainText(&quot;REQUEST_ICC Fail&quot;);}
    }else{
        ui-&gt;textEdit-&gt;setPlainText(&quot;Funktioniert&quot;);
    }
    ui-&gt;textEdit-&gt;setPlainText(reinterpret_cast &lt; const char* &gt;(response));

    res=CT_close(ctn);
    FreeLibrary (hDLL);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1779982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1779982</guid><dc:creator><![CDATA[anubis5502]]></dc:creator><pubDate>Wed, 16 Sep 2009 17:13:03 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz beim Zugriff auf Kartenleser ST-2052 on Wed, 16 Sep 2009 17:39:37 GMT]]></title><description><![CDATA[<p>Benutze einen Debugger, dann sollte mindestens klar werden, an welcher Stelle der Fehler auftritt. Wahrscheinlich wird dann auch das Warum klar. Mindestens die genaue Stelle des Fehlers wäre aber nötig, damit dir jemand sinnvoll helfen kann, die Fehlernummer nützt nicht viel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1780000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1780000</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 16 Sep 2009 17:39:37 GMT</pubDate></item></channel></rss>