Re: CM_Get_Device_Interface_PropertyW and Setupapi.h family functions partially not in headers

Keith Marshall <[email protected]> Mon, 13 Apr 2020 16:25:05 +0100
Newsgroups gmane.comp.gnu.mingw.user
Organization MinGW.org Project
Message-ID <[email protected]>
On 13/04/2020 15:26, Noel Kuntze wrote:
> I discovered that functions that are supposed to be defined in
> setupapi.h and cfgmgr32.h (CM_ and SetupDi family functions) are
> sometimes not defined in the headers that mingw ships.

Quite possibly.

> They *are* defined in the ones that are part of the Windows related
> SDKs provided by Microsoft.
Irrelevant.  Those headers are governed by Microsoft copyright, and an
end user licence agreement which forbids redistribution under any free
software licence which would be amenable to use by MinGW.  It also means
that they are not a viable source of information, from which a MinGW
distribution could be developed.

> Is there a particular reason they are not contained?
There could be several; off the top of my head, any one, or more of:

* As free software, MinGW relies on volunteer effort; volunteers tend
  to focus on aspects which they themselves require, and until one of
  the volunteers becomes sufficiently motivated to submit a patch for
  a specific feature, it is unlikely to be implemented.

* Members of the MinGW User Community, although desiring a particular
  feature, are not sufficiently motivated to develop, and to submit an
  implementation patch.

* Microsoft, all too frequently, do not document features sufficiently
  for us to develop an implementation, without plagiarizing Microsoft
  copyrighted material, and thus infringing a Microsoft EULA; MinGW
  does not accept such plagiarized material, (so, if you are planning
  to submit a patch, DO NOT refer to Microsoft headers).

> I found that the corresponding strings are in the .a files 
> corresponding to the libraries.
That's possible, because the lib*.a files are compiled on the basis of
exports lists, extracted directly from system DLLs using our own (free)
pexports tool; hence, no dependency on Microsoft documentation, and no
need for reference to Microsoft copyrighted resources.

-- 
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F

_______________________________________________
MinGW-Users mailing list
[email protected]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.osdn.me/mailman/listinfo/mingw-users
Also: mailto:[email protected]?subject=unsubscribe
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwZ7AGBVH3lDh1I9TwK02xjR+Wj8FAl6UhFEACgkQwK02xjR+
Wj8/cxAAuGMgtQWUzDNROZgEkZbMD195dJ7N5idf9OqCitr5a9rCSzKgZCseJX+J
oao5SQfDLDqsdwSyH7LLmNipnyWkrmUgzZUJXkDR1m6VMiRt08pG6ZD6wAW1v8No
uTmFpb/EA6mHs0wPYPHPkH+4pvZ5monemu70zdG3F7I2DFn0mBOWoS5rdEIEhmuG
d2C+zqQ7r0NENN01fYVrhqyHc8MLrXUU2EkTr/1KoBrF0O3VszzMXuCzPP/J6ywy
mwfke3gekbDrt/8H2qafcCsz5bHWb739M9aSlg7I9B5sLNXAkvZYbITOIFk/JTo1
LcGtIi3kS3XF54YjFZrQMI1jd7sohIl2CoTGvRYwi+9d+XtmUfZntcTUnB4F+pu6
B4MxUUwUUKFqmqYkQ5yAR0FcEMHmbubiJRJDqbKtAi5WucpGl9ozz7b+pTIYOm0/
c+ozrj7pR65ucWMl8PwkzhCM0ZMHj+LJInKNOuGsE5Ohu3dpQD8wmuwwLOKZZdSN
R3TwWR/Ci3cCdi7Mr9v1vzLflHrqRSuwgdDSTsiUTRyGHkqOrrEYcit/cLbZ/ZB9
bg2hz0daGmOvztHURwPM8FVMItFjwA8B7O+U3pbqGzLcGcbL0I9p6B+Jl2axYAS7
4ELsP+wtPangSvrJU3EunTCoZQUcOKi4EgXJhaVJr1rkW7tqfgs=
=ItlU
-----END PGP SIGNATURE-----