I was not trying to sound negative and I was not aware that this was much talked about. On, for example, the Native Instrument forums, ASIO4ALL was often recommended as a reasonably good driver and it is updated now and then.
I will drop this with one last data dump. When Sonar does not terminate, there are 11 threads that remain running.
Some are duplicates, but the unique thread stacks look like this. As the threads are running, the exact values may be changing:
Thread Start Address:
Symbol Name: Line Number: PC:
SONARPLT.exe ! int audioConv(wchar_t *,wchar_t * *,struct IFile *,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,double *,int *,int volatile *,struct tAudioConvCom volatile *,int (*)(unsigned __int64,int,int,int,void *,void *,void *,void *),int (*)(void),unsigned int,unsigned long,struct tDspVolItem *) + 0x311d8 ------ 1406ADFD8
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! NtWaitForSingleObject() + 0xa ------ 7FFF07430C8A13FB50
KERNELBASE.dll ! WaitForSingleObjectEx() + 0x98 ------ 7FFF0485111813FB58
Thread Start Address:
Symbol Name: Line Number: PC:
wdmaud.drv ! midMessage() + 0xfe10 ------ 7FFEFCB08C60
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! ZwWaitForMultipleObjects() + 0xa ------ 7FFF074311FA379FA50
KERNELBASE.dll ! WaitForMultipleObjectsEx() + 0xed ------ 7FFF048513ED379FA58
Thread Start Address:
Symbol Name: Line Number: PC:
SONARPLT.exe ! l9_ippsCos_64f_A53() + 0x5502e0 ------ 140670660
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! NtWaitForSingleObject() + 0xa ------ 7FFF07430C8A4E5FE60
KERNELBASE.dll ! WaitForSingleObjectEx() + 0x98 ------ 7FFF048511184E5FE68
Thread Start Address:
Symbol Name: Line Number: PC:
gdiplus.dll + 0x28C0 ------ 7FFEFD8D28C0
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! ZwWaitForMultipleObjects() + 0xa ------ 7FFF074311FA504FAD0
KERNELBASE.dll ! WaitForMultipleObjectsEx() + 0xed ------ 7FFF048513ED504FAD8
Thread Start Address:
Symbol Name: Line Number: PC:
combase.dll ! CoGetProcessIdentifier() + 0x3c0 ------ 7FFF04B512C0
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! ZwWaitForMultipleObjects() + 0xa ------ 7FFF074311FAA57F8F0
KERNELBASE.dll ! WaitForMultipleObjectsEx() + 0xed ------ 7FFF048513EDA57F8F8
ntdll.dll ! RtlValidSecurityDescriptor() + 0x85 ------ 7FFF073E3A35A57F918
Thread Start Address:
Symbol Name: Line Number: PC:
MSVCR120.dll ! _endthreadex() + 0x90 ------ 7FFEFA135024
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! NtWaitForSingleObject() + 0xa ------ 7FFF07430C8ABB4FCF0
KERNELBASE.dll ! WaitForSingleObjectEx() + 0x98 ------ 7FFF04851118BB4FCF8
mfc120u.dll + 24EA54 ------ 7FFEEAD0EA54BB4FD08
SONARPLT.exe ! l9_ippsCos_64f_A53() + 0x31c7c5 ------ 14043CB45BB4FD18
Thread Start Address:
Symbol Name: Line Number: PC:
ntdll.dll ! RtlFreeUnicodeString() + 0x1370 ------ 7FFF073D33A0
Thread Stack::
Symbol: Line Number: PC:Stack Frame:
ntdll.dll ! NtWaitForWorkViaWorkerFactory() + 0xa ------ 7FFF0743273A100DFB70
ntdll.dll ! RtlFreeUnicodeString() + 0x1ab6 ------ 7FFF073D3AE6100DFB78
ntdll.dll ! RtlFreeUnicodeString() + 0x1370 ------ 7FFF073D33A0100DFB80