On 21 February 2012 14:11, Ben Escoto wrote:
> Thanks for the info---so basically the "core windows API"
Basically, the core windows API is what will work out of the box,
with nothing more than windows itself installed.
> and the windows SDK are free,
The SDK may be free, but it is an add-on product from Microsoft;
you may be able to successfully use it with MinGW, but we don't
> and everything else might create an unwanted
> dependency (other than Windows itself)?
Yes, and again, if you introduce such a dependency, you are on
> For instance, the SafeArrayCreate function described at:
> Is that part of the core windows API?
Yes. If you read the document at that URI, it tells you which headers
to #include, which libraries with which to link, and which DLLs are
required at run time. So...
1) Check that MinGW provides the required header(s), (in c:\mingw\include
for a standard installation).
2) Check that the symbols you need to reference are defined, and that
functions you wish to call are declared, in the appropriate MinGW header;
(some are incomplete, due to inadequate documentation from Microsoft).
3) Check that MinGW provides the requisite libraries; (where Microsoft say
to use foo.lib, you look for libfoo.a or libfoo.dll.a, in c:\mingw\lib).
4) Check that the *system* provides the requisite DLLs; (most often, you
will find them in c:\windows\system32).
If all four checks pass, you should be able to use that API, without recourse
to any other resource.
> In my original message I
> mentioned the CComSafeArray function---apparently that is part of the
> Active Template Library, which is not a free product.
In which case, you may expect less luck with it.