Sprezzatura Windows API Library
Published 11 JUN 2010 at 01:30:00PM by Captain C
The Windows API provides a rich set of features for your application to utilise, but it can be a daunting task unless you’ve spent many hours programming in C/C++. Although the Windows API is well-documented on-line these days it can be a arduous task trying to map OI to Windows data types when prototyping functions and defining structures, or even searching C/C++ header files for constant definitions.
Here at Sprezz Towers we've done a lot of Windows API programming over the years and we've managed to amass quite a collection of DLL function definitions, structures and constants, and you can find them all in an RDK at the link below.
We've used some naming conventions with these so hopefully they don't collide with your own definitions:
DLL prototype records are prefixed "DLL_WINAPI_" DLL functions are prefixed "WINAPI_" Structures are prefixed "WIN32_" Inserts are prefixed "WINAPI_"
A list of all the library components can be found in the RDK README.TXT file.
Enjoy!
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Comments
Comment by Anonymous on 13 JUN 2010 at 10:41:39AM:
Thanks Capt C.
Truly useful stuff!
Comment by Matt Crozier on 21 APR 2022 at 01:26:42AM:
Is there a version of this for use with OI10? Presumably with any structures and prototypes modified for 64bit where appropriate.
Cheers, M@
Comment by Captain C on 21 APR 2022 at 10:20:19AM:
Hi M@ - Alas, there is not, and there are no plans to do so as they would be duplicating much of the MSWIN_ functionality already found in the product.
However, these MSWIN_ versions in OI10 cover a lot of it, so you could copy those into the WINAPI_ namespace if you wished. For example, you could open the MSWIN_ version, save as a WINAPI_ version, change the namespace to "WinAPI_" and then apply it and compile.
If there are any specific functions/structs you are missing in the MSWIN_ then feel free to drop me a line and I'll sort them for you.
/c
Comment by Matt Crozier on 22 APR 2022 at 03:18:00AM:
Hi Carl - yeah, I thought that might be the case. I wasn't sure as WINPI seems a lot more comprehensive than MSWIN (v10.1) at the moment ;).
I think going forward we'd want to use MSWIN where possible, and even implement this namespace in OI9 for portability; and implement WINAPI in OI10 as you've described, where not.
I'll let you know of anything we need that isn't in MSWIN :)
Cheers, M@