setupapi.dll: partially implement SetupDiGetClassDevsExA

Mike McCormack mike at
Mon Jun 12 02:47:30 CDT 2006

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.

> Does its use for finding misbehaved functions make 
> Wine look like it pushes the edge?

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.

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

> Yes, but how would you write a test for a badly implemented function, when 
> you don't know its name or even name of a DLL it resides in?

If there's no program that uses that function, then it's not necessary 
that for Wine to implement it, so it doesn't matter.   If there's a 
program that uses it, then we can get a sample input.

Wine is concerned with interoperability with programs written for the 
Win32 API.  We don't care how other implementations of the Win32 API 
work, we only care what is required for programs to work.

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.


More information about the wine-devel mailing list