OK, more questions :)
Clearly c) because that will work properly even when doing hotplugging of pcmcia cards and doing interactive dialup to an isp. Might want to cache it for 10 seconds or something, and you might need to worry about what happens when programs are reading the reg entries *while* an interface is changing. (heh.)
I'd note that Windows sets the volatile (what i called transient) entries at startup. For Wine though, startup time is always an issue, so yeah I'd think it makes sense to trap key not found errors.
BTW there is a system call getifaddrs on many flavors of Unix that does this kind of query, and there's a library implementation of it for linux. See http://www.kegel.com/dkftpbench/dkftpbench-0.45/getifaddrs.c http://www.kegel.com/dkftpbench/dkftpbench-0.45/getifaddrs.h The registry code should probably just call this function
Thanks, I took a look at this, seems to do the trick nicely.
Of course, now I'm wondering exactly what part of the registry code I should use. Either:
a) In advapi32 b) In ntdll c) wineserver.
The wineserver seems the most logical choice, but I'm not sure if there are any special rules regarding it, nor whether Alexandre would accept stuff like interface probing into the server, it might be considered bloat. Care to comment Alexandre? Which is the best place for this code?
thanks -mike