https://bugs.winehq.org/show_bug.cgi?id=9137
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.catiastudent.com |http://file1.engineering.co |/student_targetid.htm |m/Target_ID.zip CC| |focht@gmx.net Hardware|Other |x86 Summary|Catia node id tools fail |FlexLM LUM Target ID Tool | |'i4target' fails to | |retrieve node id, reports | |'Unable to obtain win32mac | |target' (PNP device manager | |network adapters, | |'{4D36E972-E325-11CE-BFC1-0 | |8002BE10318}') OS|other |Linux
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
still present.
The node id tool is not specific to CATIA/Dassault Systemes - its flavours are used in many companies/products.
--- quote --- These tools fail because they try to open the PlugPlay service --- quote ---
It wants to make sure the registry data managed by PnP service is not stale, hence the check if the service is running.
The app goes directly for registry anyway, bypassing PNP device manager client side SetupDiXxx() API:
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./i4tgtid.exe >>log.txt 2>&1 ... 0024:Call advapi32.RegOpenKeyExA(80000002,0040b4b4 "Software\Microsoft\Windows NT\CurrentVersion\NetworkCards",00000000,00020019,0033ec14) ret=004047e6 0024:Ret advapi32.RegOpenKeyExA() retval=00000000 ret=004047e6 0024:Call advapi32.RegEnumKeyExA(00000040,00000000,0033ec00,0033ec10,00000000,00000000,00000000,00000000) ret=00404802 0024:Ret advapi32.RegEnumKeyExA() retval=00000103 ret=00404802 0024:Call advapi32.RegCloseKey(00000040) ret=0040480d 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=0040480d 0024:Call msvcrt.memset(0033fafc,00000000,0000000c) ret=00403e93 0024:Ret msvcrt.memset() retval=0033fafc ret=00403e93 0024:Call KERNEL32.GetVersionExA(0033fa24) ret=00403ead 0024:Ret KERNEL32.GetVersionExA() retval=00000001 ret=00403ead 0024:Call advapi32.RegCreateKeyA(80000002,0040affc "SOFTWARE\IBM\License Use Runtime",0033fad4) ret=00403f0b 0024:Ret advapi32.RegCreateKeyA() retval=00000000 ret=00403f0b 0024:Call advapi32.RegQueryValueExA(00000040,0040afc0 "I4DRIVER",00000000,0033fac8,00000000,0033facc) ret=00403f47 0024:Ret advapi32.RegQueryValueExA() retval=00000002 ret=00403f47 0024:Call advapi32.RegCloseKey(00000040) ret=004040fc 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=004040fc ... 0024:Call msvcrt.strcmp(00406124 "open",0040607c "win32mac") ret=00401077 0024:Ret msvcrt.strcmp() retval=ffffffff ret=00401077 0024:Call user32.MessageBoxA(00000000,0033fc84 "Unable to obtain win32mac target. Run i4target -v for debugging purposes.\n",00406134 "i4target Version 4.6.8 Windows -- LUM Target ID Tool",00000000) ret=004010ba --- snip ---
It looks for network interface card IDs registered under 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards'
Using the GUIDs it will lookup actual network devices instance data in the subkeys: 'HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\<id>\' (matching 'NetCfgInstanceId').
'{4D36E972-E325-11CE-BFC1-08002BE10318}' subkey is network adapter devices class.
MSDN: http://technet.microsoft.com/en-us/library/cc757989%28v=ws.10%29.aspx
Using that info it will try to open 'live' instances in the global namespace for kernel objects.
Basically everything that is created/maintained by the Windows PnP device manager.
There are a few other PNP device manager functionality related bugs:
bug 11811 bug 31898 bug 35224 foo bar
A long way to go.
$ sha1sum Target_ID.zip 237cd5f05357c0b2d5a76031d89c667bf22fe3ef Target_ID.zip
$ du -sh Target_ID.zip 40K Target_ID.zip
$ wine --version wine-1.7.13-118-g0eb6265
Regards