3)xena!NetConfig::UpdateRegistry+0
4)xena!ATL::CComModule::RegisterServer+a0
after this i get the error ??
So can i assume the UpdateRegistry is causing problems ?
I have this line in source
DECLARE_REGISTRY_RESOURCEID(IDR_NETCONFIG)
Where IDR_NETCONFIG points to netconfig.rgs file which is as below.
HKCR
{
Notify.NetConfig.1 = s 'NetConfig Class'
{
CLSID = s '{DDD6B12C-0934-406A-9BCF-708C8342AD67}'
}
Notify.NetConfig = s 'NetConfig Class'
{
CLSID = s '{DDD6B12C-0934-406A-9BCF-708C8342AD67}'
CurVer = s 'Notify.NetConfig.1'
}
NoRemove CLSID
{
ForceRemove {DDD6B12C-0934-406A-9BCF-708C8342AD67} = s 'NetConfig
Class'
{
ProgID = s 'Notify.NetConfig.1'
VersionIndependentProgID = s 'Notify.NetConfig'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
val AppID = s '%APPID%'
'TypeLib' = s '{56A853D8-0644-47B5-8DBA-3793AFA47BFD}'
}
}
}
Is there any thing wrong here ?
This works perfectly fine in win32.
Followoing is the trace dump.
I am not able to figure out where the exception is happening.
ModLoad: 00000000`10000000 00000000`100c4000
Z:\s2io-64-2\bin\ia64\debug\xena.dll
ModLoad: 000006fb`ff320000 000006fb`ff3a8000
Z:\s2io-64-2\bin\ia64\debug\xenapd.dll
ModLoad: 000006fb`ff2f0000 000006fb`ff31e000
Z:\s2io-64-2\bin\ia64\debug\xenautil.dll
ModLoad: 000006fb`7dbb0000 000006fb`7dbf4000
C:\WINDOWS.0\system32\iphlpapi.dll
ModLoad: 000006fb`73b60000 000006fb`73ba4000
C:\WINDOWS.0\system32\WS2_32.dll
ModLoad: 000006fb`73b40000 000006fb`73b5a000
C:\WINDOWS.0\system32\WS2HELP.dll
ModLoad: 00000000`5f800000 00000000`5fbe0000
Z:\s2io-64-2\bin\ia64\debug\MFC42uD.DLL
ModLoad: 00000000`10200000 00000000`103e0000
Z:\s2io-64-2\bin\ia64\debug\MSVCRTD.dll
ModLoad: 00000000`5f600000 00000000`5f628000
Z:\s2io-64-2\bin\ia64\debug\MFCN42uD.DLL
ModLoad: 000006fb`73ac0000 000006fb`73ad0000
C:\WINDOWS.0\system32\WSOCK32.dll
ModLoad: 000006fb`7e410000 000006fb`7e7aa000
C:\WINDOWS.0\system32\OLEAUT32.dll
ModLoad: 00000000`10480000 00000000`1061a000
Z:\s2io-64-2\bin\ia64\debug\MSVCP60D.dll
ModLoad: 000006fb`7cc70000 000006fb`7ce5e000
C:\WINDOWS.0\system32\SETUPAPI.dll
ModLoad: 000006fb`fefe0000 000006fb`ff2ee000
Z:\s2io-64-2\bin\ia64\debug\MFCO42uD.DLL
ModLoad: 000006fb`792f0000 000006fb`79342000
C:\WINDOWS.0\system32\oledlg.dll
ModLoad: 000006fb`7c050000 000006fb`7c198000
C:\WINDOWS.0\system32\urlmon.dll
ModLoad: 000006fb`7eb30000 000006fb`7ebec000
C:\WINDOWS.0\system32\SHLWAPI.dll
ModLoad: 000006fb`7fa80000 000006fb`7fa98000
C:\WINDOWS.0\system32\VERSION.dll
ModLoad: 000006fb`7ed90000 000006fb`7fa0a000
C:\WINDOWS.0\system32\SHELL32.dll
ModLoad: 000006fb`7d670000 000006fb`7d6d2000
C:\WINDOWS.0\system32\ATL.DLL
Xenautil.dll Initializing!
ModLoad: 000006fb`72370000 000006fb`725a8000
C:\WINDOWS.0\WinSxS\ia64_Microsoft.Windows.Common-Controls_6595b64144ccf1df_
6.0.100.0_x-ww_B3722BAB\comctl32.dll
NotifyApp::InitInstance
(e84.e88): Break instruction exception - code 80000003 (first chance)
ntdll!EtwpGetTraceBuffer+f4eb8:
00000000`77f6be58 break.i 80016
WARNING: Z:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include is not accessible
WARNING: Z:\s2io-64-2\xutil\IA64\Debug is not accessible
WARNING: Z:\s2io-64-2\Notify\IA64\Debug is not accessible
WARNING: Z:\s2io-64-2\data\IA64\Debug is not accessible
0:000> g
Breakpoint 2 hit
xena!DllRegisterServer+54:
00000000`10041234 addl r28=ffffffff`ffe01090, gp
0:000> t
xena!ATL::CComModule::RegisterServer:
00000000`100459c0 alloc r36=ar.pfs, 6, 0, 3, 0
0:000> t
xena!ATL::CComModule::RegisterServer+44:
00000000`10045a04 addl r25=ffffffff`ffe04050, gp
0:000> t
*** ERROR: Symbol file could not be found. Defaulted to export
symbols for C:\WINDOWS.0\system32\ATL.DLL -
ATL!Ordinal9+b2c0:
000006fb`7d67b2c0 alloc r42=ar.pfs, d, 0, 3, 0
0:000> p
ATL!Ordinal9+b2c4:
000006fb`7d67b2c4 mov r43=pr
0:000> p
ATL!Ordinal9+b2c8:
000006fb`7d67b2c8 adds ret0=0, r0
0:000> p
ATL!Ordinal9+b2d0:
000006fb`7d67b2d0 cmp.eq p0, p15=r0, r32
0:000> p
ATL!Ordinal9+b2d4:
000006fb`7d67b2d4 adds r44=0, gp
0:000> p
ATL!Ordinal9+b2d8:
000006fb`7d67b2d8 adds r35=0, r0 ;;
0:000> p
ATL!Ordinal9+b2e0:
000006fb`7d67b2e0 adds r47=20, r32
0:000> p
ATL!Ordinal9+b2e4:
000006fb`7d67b2e4 mov r41=rp
0:000> p
ATL!Ordinal9+b2e8:
000006fb`7d67b2e8 (p15=1)br.cond.dptk.many ATL!Ordinal9+b310
(000006fb`7d67b310) ;;
0:000> p
ATL!Ordinal9+b310:
000006fb`7d67b310 ld8 r40=[r47]
0:000> p
ATL!Ordinal9+b314:
000006fb`7d67b314 addl r37=b0, r0
0:000> p
ATL!Ordinal9+b318:
000006fb`7d67b318 addl r36=f8, r0 ;;
0:000> p
ATL!Ordinal9+b320:
000006fb`7d67b320 ld8.sa r46=[r40]
0:000> p
ATL!Ordinal9+b324:
000006fb`7d67b324 cmp.eq p15, p0=r0, r40
0:000> p
ATL!Ordinal9+b328:
000006fb`7d67b328 (p15=0)br.cond.dpnt.many ATL!Ordinal9+b520
(000006fb`7d67b520) ;;
0:000> p
ATL!Ordinal9+b330:
000006fb`7d67b330 ld8.c.clr r46=[r40]
0:000> p
ATL!Ordinal9+b334:
000006fb`7d67b334 cmp.eq p14, p0=r0, r46
0:000> p
ATL!Ordinal9+b338:
000006fb`7d67b338 (p14=0)br.cond.dpnt.many ATL!Ordinal9+b4e0
(000006fb`7d67b4e0) ;;
0:000> p
ATL!Ordinal9+b340:
000006fb`7d67b340 ld8.sa r31=[r40]
0:000> p
ATL!Ordinal9+b344:
000006fb`7d67b344 addl r47=10, r0
0:000> p
ATL!Ordinal9+b348:
000006fb`7d67b348 adds r45=0, r34
0:000> p
ATL!Ordinal9+b350:
000006fb`7d67b350 cmp.eq p0, p15=r0, r34
0:000> p
ATL!Ordinal9+b354:
000006fb`7d67b354 adds r30=30, r40
0:000> p
ATL!Ordinal9+b358:
000006fb`7d67b358 (p15=0)br.cond.dptk.many ATL!Ordinal9+b3c0
(000006fb`7d67b3c0) ;;
0:000> p
ATL!Ordinal9+b360:
000006fb`7d67b360 ld8 r29=[r30]
0:000> p
ATL!Ordinal9+b364:
000006fb`7d67b364 adds r38=8, r40 ;;
0:000> p
ATL!Ordinal9+b368:
000006fb`7d67b368 cmp.eq p14, p0=r0, r29
0:000> p
ATL!Ordinal9+b370:
000006fb`7d67b370 nop.m 0
0:000> p
ATL!Ordinal9+b374:
000006fb`7d67b374 nop.m 0
0:000> p
ATL!Ordinal9+b378:
000006fb`7d67b378 (p14=0)br.cond.dpnt.many ATL!Ordinal9+b3f0
(000006fb`7d67b3f0) ;;
0:000> p
ATL!Ordinal9+b380:
000006fb`7d67b380 ld8 r47=[r29], 8 ;;
0:000> p
ATL!Ordinal9+b384:
000006fb`7d67b384 ld8 gp=[r29]
0:000> p
ATL!Ordinal9+b388:
000006fb`7d67b388 mov b7=r47, +0
0:000> p
ATL!Ordinal9+b390:
000006fb`7d67b390 nop.m 0
0:000> p
ATL!Ordinal9+b394:
000006fb`7d67b394 nop.m 0
0:000> p
ATL!Ordinal9+b398:
000006fb`7d67b398 br.call.dptk.many rp=b7 ;; //
xena!ATL::CComCoClass<NetConfig,&CLSID_NetConfig>::GetObjectDescription+0
(00000000`100413a0)
0:000> p
ATL!Ordinal9+b3a0:
000006fb`7d67b3a0 cmp.eq p0, p13=r0, ret0
0:000> p
ATL!Ordinal9+b3a4:
000006fb`7d67b3a4 adds gp=0, r44
0:000> p
ATL!Ordinal9+b3a8:
000006fb`7d67b3a8 nop.b 0
0:000> p
ATL!Ordinal9+b3b0:
000006fb`7d67b3b0 nop.m 0
0:000> p
ATL!Ordinal9+b3b4:
000006fb`7d67b3b4 (p13=0)br.cond.dptk.many ATL!Ordinal9+b4a0
(000006fb`7d67b4a0)
0:000> p
ATL!Ordinal9+b3b8:
000006fb`7d67b3b8 br.cond.sptk.many ATL!Ordinal9+b3f0
(000006fb`7d67b3f0) ;;
0:000> p
ATL!Ordinal9+b3f0:
000006fb`7d67b3f0 ld8 r31=[r38]
0:000> p
ATL!Ordinal9+b3f4:
000006fb`7d67b3f4 addl r45=1, r0
0:000> p
ATL!Ordinal9+b3f8:
000006fb`7d67b3f8 adds r38=38, r40 ;;
0:000> p
ATL!Ordinal9+b400:
000006fb`7d67b400 ld8 r47=[r31], 8 ;;
0:000> p
ATL!Ordinal9+b404:
000006fb`7d67b404 ld8 gp=[r31]
0:000> p
ATL!Ordinal9+b408:
000006fb`7d67b408 mov b7=r47, +0
0:000> p
ATL!Ordinal9+b410:
000006fb`7d67b410 nop.m 0
0:000> p
ATL!Ordinal9+b414:
000006fb`7d67b414 nop.m 0
0:000> p
ATL!Ordinal9+b418:
000006fb`7d67b418 br.call.dptk.many rp=b7 ;; //
xena!NetConfig::UpdateRegistry+0 (00000000`10040b80)
0:000> p
ModLoad: 000006fb`7e1f0000 000006fb`7e338000
C:\WINDOWS.0\system32\CLBCatQ.DLL
ModLoad: 000006fb`7e340000 000006fb`7e40c000
C:\WINDOWS.0\system32\COMRes.dll
ATL!Ordinal9+b420:
000006fb`7d67b420 ld4.sa r28=[r32]
0:000> p
ATL!Ordinal9+b424:
000006fb`7d67b424 adds r35=0, ret0
0:000> p
ATL!Ordinal9+b428:
000006fb`7d67b428 adds gp=0, r44
0:000> p
ATL!Ordinal9+b430:
000006fb`7d67b430 cmp4.lt p15, p0=ret0, r0
0:000> p
ATL!Ordinal9+b434:
000006fb`7d67b434 nop.m 0
0:000> p
ATL!Ordinal9+b438:
000006fb`7d67b438 (p15=1)br.cond.dpnt.many ATL!Ordinal9+b510
(000006fb`7d67b510) ;;
0:000> p
ATL!Ordinal9+b510:
000006fb`7d67b510 adds ret0=0, r35
0:000> p
ATL!Ordinal9+b514:
000006fb`7d67b514 mov rp=r41, +0 ;;
0:000> p
ATL!Ordinal9+b518:
000006fb`7d67b518 mov.i ar.pfs=r42 ;;
0:000> p
ATL!Ordinal9+b520:
000006fb`7d67b520 nop.m 0
0:000> p
ATL!Ordinal9+b524:
000006fb`7d67b524 mov pr=r43, ffffffff`ffff003e
0:000> p
ATL!Ordinal9+b528:
000006fb`7d67b528 br.ret.sptk.many rp ;; //
xena!ATL::CComModule::RegisterServer+a0 (00000000`10045a60)
0:000> p
xena!ATL::CComModule::RegisterServer+a0:
00000000`10045a60 adds r20=10, sp
0:000> t
xena!ATL::CComModule::RegisterServer+c0:
00000000`10045a80 adds sp=30, sp
0:000> p
xena!DllRegisterServer+70:
00000000`10041250 adds r27=14, sp
0:000> p
xena!DllRegisterServer+94:
00000000`10041274 adds r21=10, sp
0:000> p
xena!DllRegisterServer+a4:
00000000`10041284 adds sp=10, sp
0:000> p
regsvr32+4520:
00000000`01004520 st4 [r58]=ret0
0:000> p
regsvr32+4524:
00000000`01004524 adds gp=0, r74
0:000> p
regsvr32+4528:
00000000`01004528 nop.b 0 ;;
0:000> p
regsvr32+4530:
00000000`01004530 nop.m 0
0:000> p
regsvr32+4534:
00000000`01004534 nop.m 0
0:000> g @@masm(@$ra)
==> the error is shown here.
DllRegisterServer in xena.dll failed.
Return code was 0x80020009
Regards,
Vijay Chegu
-----------
"Ivan Brugiolo [MSFT]" <
[email protected]> wrote in message
Isn't ATL code supplied in all the major SDK/MSDN/Visual Studio packages ?
The ATL registration code takes it's "parameter" from a set of globals
that are filled in my a set of macro. This accounr the same generated code
to work
for scriptable com component, services, plain com component and few other
cases.
The symbols for WinDbg will not get you to the source code for ATL,
but if you have the source code for ATL you can use the .srcpath command
in Windbg/cdb/ntsd and then the 'lsa' command to see where you are.
In any case, you can follow the code flow without symbols.
the ia64 assembly uses 'br.<completer>.call' to make a call through the bX
branch registers,
and the return value from a call is stored in r8.
--