title: Secugen fingerprint reader using Qt
body: <p>I am trying to create an app using the SecuGen FDX SDK on Qt. I am hving issues capturing an image from the reader. I can access all the functions in the dll without problem, except form the ones involving capturing an image. When I debug the code under Qt creator I get the following:</p>
  
  <pre><code>ModLoad: 00e60000 00f06000   registrationPlatform.exe
  ModLoad: 77580000 776bc000   ntdll.dll
  ModLoad: 769f0000 76ac4000   C:\Windows\system32\kernel32.dll
  ModLoad: 75920000 7596a000   C:\Windows\system32\KERNELBASE.dll
  ModLoad: 10000000 1001f000   D:\software\registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug\debug\SGFPLIB.DLL
  ModLoad: 74bd0000 74bd9000   C:\Windows\system32\VERSION.dll
  ModLoad: 76810000 768bc000   C:\Windows\system32\msvcrt.dll
  ModLoad: 76ec0000 76f89000   C:\Windows\system32\USER32.dll
  ModLoad: 77050000 7709e000   C:\Windows\system32\GDI32.dll
  ModLoad: 776d0000 776da000   C:\Windows\system32\LPK.dll
  ModLoad: 77710000 777ad000   C:\Windows\system32\USP10.dll
  ModLoad: 554d0000 5631e000   D:\software\registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug\debug\QtGuid4.dll
  ModLoad: 76ad0000 76b4b000   C:\Windows\system32\COMDLG32.dll
  ModLoad: 76ff0000 77047000   C:\Windows\system32\SHLWAPI.dll
  ModLoad: 74660000 747fe000   C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\COMCTL32.dll
  ModLoad: 75b10000 76759000   C:\Windows\system32\SHELL32.dll
  ModLoad: 76910000 7699f000   C:\Windows\system32\OLEAUT32.dll
  ModLoad: 76d20000 76e7c000   C:\Windows\system32\ole32.dll
  ModLoad: 770a0000 77141000   C:\Windows\system32\RPCRT4.dll
  ModLoad: 776e0000 776ff000   C:\Windows\system32\IMM32.dll
  ModLoad: 76c50000 76d1c000   C:\Windows\system32\MSCTF.dll
  ModLoad: 71870000 718a2000   C:\Windows\system32\WINMM.dll
  ModLoad: 6f500000 6f551000   C:\Windows\system32\WINSPOOL.DRV
  ModLoad: 76770000 76810000   C:\Windows\system32\ADVAPI32.dll
  ModLoad: 768f0000 76909000   C:\Windows\SYSTEM32\sechost.dll
  ModLoad: 569f0000 56e40000   D:\software\registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug\debug\QtCored4.dll
  ModLoad: 76e80000 76eb5000   C:\Windows\system32\WS2_32.dll
  ModLoad: 77700000 77706000   C:\Windows\system32\NSI.dll
  ModLoad: 66580000 6664b000   C:\Windows\system32\MSVCP110D.dll
  ModLoad: 56850000 569eb000   C:\Windows\system32\MSVCR110D.dll
  (758.15c): Break instruction exception - code 80000003 (first chance)
  eax=00000000 ebx=00000000 ecx=001af55c edx=775c64f4 esi=fffffffe edi=00000000
  eip=7761e60e esp=001af578 ebp=001af5a4 iopl=0         nv up ei pl zr na pe nc
  cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
  ntdll!LdrpDoDebuggerBreak+0x2c:
  7761e60e cc              int     3
  cdb: Reading initial command '.idle_cmd !qtcreatorcdbext.idle'
  Execute when idle: !qtcreatorcdbext.idle
  0:000&gt;
  &lt;l+t
  &lt;l+s
  dNOTE: ENGINE SETUP OK
  dState changed from EngineSetupRequested(1) to EngineSetupOk(3) [master]
  dQUEUE: SETUP INFERIOR
  dState changed from EngineSetupOk(3) to InferiorSetupRequested(4) [master]
  dQUEUE: SETUP INFERIOR
  dCALL: SETUP INFERIOR
  &lt;sxn 0x4000001f
  &lt;.asm source_line
  &lt;!qtcreatorcdbext.pid -t 0
  Source options are 1:
    1/t - Step/trace by source line
  Source options are 5:
    1/t - Step/trace by source line
    4/s - List source code at prompt
  Assembly options: source_line
  Qt Creator CDB extension version 0.11 (Qt 5 support) 32 bit built Aug  9 2012.
  dTaking notice of pid 1880
  dNOTE: INFERIOR SETUP OK
  dState changed from InferiorSetupRequested(4) to InferiorSetupOk(6) [master]
  dState changed from InferiorSetupOk(6) to EngineRunRequested(7) [master]
  dQUEUE: RUN ENGINE
  dCALL: RUN ENGINE
  &lt;g
  dNOTE: ENGINE RUN AND INFERIOR RUN OK
  sRunning.
  dState changed from EngineRunRequested(7) to InferiorRunOk(11) [master]
  ModLoad: 75640000 7568b000   C:\Windows\system32\apphelp.dll
  ModLoad: 565f0000 56849000   C:\Windows\AppPatch\AcXtrnal.DLL
  FTH: (1880): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
  
  ModLoad: 744b0000 744f0000   C:\Windows\system32\uxtheme.dll
  ModLoad: 741b0000 741c3000   C:\Windows\system32\dwmapi.dll
  ModLoad: 755d0000 755dc000   C:\Windows\system32\CRYPTBASE.dll
  ("D:/development/Qt/4.8.3-msvc/plugins", "D:/software/registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug/debug") 
  
  ModLoad: 00940000 00a30000   D:\software\registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug\debug\Sgfu03m.dll
  ModLoad: 6dc90000 6dca1000   C:\Windows\system32\winbio.dll
  ModLoad: 75750000 7586c000   C:\Windows\system32\CRYPT32.dll
  ModLoad: 75740000 7574c000   C:\Windows\system32\MSASN1.dll
  ModLoad: 6da50000 6da81000   C:\Windows\system32\credui.dll
  ModLoad: 00270000 00290000   D:\software\registrationPlatform-build-desktop-Qt_4_8_3-msvc__qmake__Debug\debug\sgfpaMX.dll 
  
  ModLoad: 750d0000 750e6000   C:\Windows\system32\CRYPTSP.dll
  ModLoad: 74ef0000 74f2b000   C:\Windows\system32\rsaenh.dll
  ModLoad: 756c0000 756ce000   C:\Windows\system32\RpcRtRemote.dll
  ModLoad: 75890000 75914000   C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5\comctl32.dll
  HEAP[registrationPlatform.exe]: 
  Heap block at 003D3628 modified at 003D3655 past requested size of 25
  
  (758.15c): Break instruction exception - code 80000003 (first chance)
  s
  sException at 0x77644684, code: 0x80000003: breakpoint, flags=0x0 in ntdll!RtlpBreakPointHeap
  eax=003d3628 ebx=003d3655 ecx=775a07ed edx=001ac329 esi=003d3628 edi=00000025
  eip=77644684 esp=001ac570 ebp=001ac570 iopl=0         nv up ei pl nz na po nc
  cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
  ntdll!RtlpBreakPointHeap+0x23:
      77644684 cc              int     3
  sInterrupted.
  dNOTE: INFERIOR SPONTANEOUS STOP
  sStopped.
  dState changed from InferiorRunOk(11) to InferiorStopOk(14) [master]
  &lt;!qtcreatorcdbext.locals -t 1 -D -c -W 9
  </code></pre>
  
  <p>The specific part of the code causing the issue is the following:</p>
  
  <pre><code>    BYTE *buffer = new BYTE(device_info.ImageHeight*device_info.ImageWidth);
  
      DWORD timeout = 10000;
  
      DWORD quality = 30;
  
      if(SGFPM_GetImageEx(g_Fpm, buffer, timeout, NULL, quality) == SGFDX_ERROR_NONE)
      {        
          //draw image
      }
  
      delete buffer;
  </code></pre>