Hallo,
with native urlmon(and ole32,oleaut32,rpcrt4), Atmel Avrstudio brings up the
"Program AVR" option in the "Tools" pulldown menu, with builtin this item is
missing.
Here the relay trace of the CreateURLMoniker call with builtin:
0009:CALL urlmon.CreateURLMoniker(<unknown, check return>) ret=69bdb8bf
0009:Call kernel32.IsBadWritePtr(7baada74,00000004) ret=702b3c80
0009:Ret kernel32.IsBadWritePtr() retval=00000000 ret=702b3c80
0009:Call kernel32.IsBadReadPtr(7f8be518,00000002) ret=702b3c9b
0009:Ret kernel32.IsBadReadPtr() retval=00000000 ret=702b3c9b
0009:Call shlwapi.154(7f8be518 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",702b2118 L"http",00000004) ret=702b219d
0009:Ret shlwapi.154() retval=fffffffe ret=702b219d
0009:Call shlwapi.154(7f8be518 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",702b20f4 L"file",00000004) ret=702b219d
0009:Ret shlwapi.154() retval=00000000 ret=702b219d
0009:Call shlwapi.UrlCanonicalizeW(7f8be518 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",7baab950,7baab93c,00010000) ret=702b240e
0009:Call ntdll.RtlAllocateHeap(7bc10000,00000000,0000007e) ret=7b74d606
0009:Ret ntdll.RtlAllocateHeap() retval=7bcf5d48 ret=7b74d606
0009:Call ntdll.RtlFreeHeap(7bc10000,00000000,7bcf5d48) ret=7b74d766
0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7b74d766
0009:Ret shlwapi.UrlCanonicalizeW() retval=00000000 ret=702b240e
0009:Call kernel32.lstrlenW(7baab950 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml") ret=702b3c28
0009:Ret kernel32.lstrlenW() retval=0000003e ret=702b3c28
0009:Call kernel32.lstrlenW(7baab950 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml") ret=702b3ce3
0009:Ret kernel32.lstrlenW() retval=0000003e ret=702b3ce3
0009:CALL ole32.CoTaskMemAlloc(0000007e) ret=702b2506
0009:Call ntdll.RtlAllocateHeap(7bc10000,00000000,0000007e) ret=65f014f0
0009:Ret ntdll.RtlAllocateHeap() retval=7bcf5d48 ret=65f014f0
0009:RET ole32.CoTaskMemAlloc() retval=7bcf5d48 ret=702b2506
0009:Call shlwapi.StrCpyW(7bcf5d48,7baab950 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml") ret=702b3d02
0009:Ret shlwapi.StrCpyW() retval=7bcf5d48 ret=702b3d02
0009:CALL ole32.CoTaskMemAlloc(00000014) ret=702b2506
0009:Call ntdll.RtlAllocateHeap(7bc10000,00000000,00000014) ret=65f014f0
0009:Ret ntdll.RtlAllocateHeap() retval=7bcf5dd0 ret=65f014f0
0009:RET ole32.CoTaskMemAlloc() retval=7bcf5dd0 ret=702b2506
0009:RET urlmon.CreateURLMoniker(00000000,7f8be518 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",7baada74) retval=00000000 ret=69bdb8bf
and here with builtin:
0009:Call urlmon.CreateURLMoniker(00000000,7f9be518 L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",7baada74) ret=69bdb8bf
trace:urlmon:CreateURLMoniker ((nil), L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml",
0x7baada74)
0009:Call ntdll.RtlAllocateHeap(7bc10000,00000000,0000000c) ret=7e4986fb
0009:Ret ntdll.RtlAllocateHeap() retval=7bcd5340 ret=7e4986fb
trace:urlmon:URLMonikerImpl_Construct (0x7bcd5340,(null),L"file:///C:/Program%20Files/Atmel/AVR%20Tools/STK500/STK500.xml")
0009:Call ntdll.RtlAllocateHeap(7bc10000,00000000,0000007e) ret=7e4987aa
0009:Ret ntdll.RtlAllocateHeap() retval=7bcd5f28 ret=7e4987aa
0009:CALL ole32.CoTaskMemFree(00000000) ret=7e4987f7
0009:RET ole32.CoTaskMemFree() retval=00000000 ret=7e4987f7
trace:urlmon:URLMonikerImpl_QueryInterface (0x7bcd5340)->({0000000f-0000-0000-c000-000000000046},0x7baada74)
trace:urlmon:URLMonikerImpl_AddRef (0x7bcd5340)->(ref before=0)
0009:Ret urlmon.CreateURLMoniker() retval=00000000 ret=69bdb8bf
Bye
--
Uwe Bonnes bon(a)elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------