setupapi.dll: partially implement SetupDiGetClassDevsExA

Saulius Krasuckas saulius2 at
Mon Jun 12 05:07:08 CDT 2006

* On Mon, 12 Jun 2006, Mike McCormack wrote:
> * Saulius Krasuckas wrote:
> > 
> > Mike, and how would you describe API monitoring method of 
> > understanding how the stuff works?
> You mean using +relay?  IMO, that's a legitimate way of understanding how
> things work.

Not exactly.  What about strace.exe or stracent.exe under real windows?

> If it's done using black box techniques, IMO, it's legitimate.
> Finding out how an public _interface_ behaves for various inputs and 
> outputs is legitimate, IMO.
> Examining piece of assembly to determine _implementation_ is not, IMO.

Ok, let go further than my primary question.

And what if interface is blackboxed?  Would you consider analysis of a 
stack and CPU registers during a breakpoint at the very beginning of API 
call legitimate?  In real windows, of course.  That's about some data 
passing through an interface, not about some code assembly.

> This is assuming that _interfaces_ are not copyright-able, whereas 
> _implementations_ are.

Of course.  But when interfaces gets hidden, we start walking on the 
low-level line where interface details border implementation details.  

> If there's a program that uses it, then we can get a sample input.

Of course I spoke about real programs.  Example was Diablo (v1), where I 
just hadn't enough skills to understand what here doesn't work.  Later I 
opened a bug report (2 years ago).  Now I think tracing the game in 
windows would help me.

> I am *not* giving legal advice.  This is my interpretation of how 
> interoperability with Windows programs should be legitimately achieved, 
> and what standards Wine contributors should live up to.

That's fine, Mike.  I understand that disc^H^H^H^Hpart pretty well, I hope 

More information about the wine-devel mailing list