News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

A translator for sdk header files (64 and 32 bits translate)

Started by TouEnMasm, August 15, 2012, 04:16:27 AM

Previous topic - Next topic

TouEnMasm

Hello,
Final version for Windows 10 can be found here:
https://github.com/ToutEnMasm71100

EDIT: ALL links Now refer to the New 'GitHub' page.

version 10.1.(download in one parts,don't view my next post)
It has been made for Win 10.0  and allow to build 64 or 32 bits prog.
He is now able to translate driver headers (km directory)
Support all windows , is a real translate with all features of a windows SDK .
Alignment,Unicode,...........
He is abble to answer the question "What is this and where it is defined",see multiple files translation
Usage:read the readme.rtf file in the zip.
Translate is now in this form:
QuoteUpdateLayeredWindow PROTO hWnd:HWND ,hdcDst:HDC ,pptDst:XMASM ,psize:XMASM ,hdcSrc:HDC ,\
            pptSrc:XMASM ,crKey:COLORREF ,pblend:XMASM ,dwFlags:DWORD

All Prototypes (API and interface) used the standard notation of masm .You have just to follow the SDK help files,usage is the same.

The translation need a very few changes to use what is translate.UNICODE is supported.
Are translated,constants,structures,enums,Interfaces ,prototypes, most common GUID and some macros.A comment (;API) is added before the prototypes to find them quickly(all prototypes are not API).The readme file in the zip say you more.
***************************************************************
This version have made the windows.sdk downloadable on my site
Problem at link solved,Some prototypes have the same name in interfaces and/or are duplicate.
This provide a "error LNK2001: unresolved external symbol"
The title INTERFACE_API_CONFLIT_NOM added in egales.txt is here to solve this

***************************************************************
Before translate anything,have a look at the full set of SDK header files translated (crt 2013 included)
http://masm32.com/board/index.php?topic=563.0

VC++ 2008 header's file translated ( CRT )
http://masm32.com/board/index.php?topic=573.0
=========================================== 

////////////////////////////////// C++ library //////////////////////////////////////////
The defaut prototype is C for the header of the C++,it's not like that in the SDK.
So you have to manually (use an editor) to change:
PROTO ------> PROTO C
You can also have functions with a decorated name in the library.
Use this tool:
http://masm32.com/board/index.php?topic=580.msg4701#msg4701

===================== Dynamic load of functions ============
Some functions could be only used by dynamic load of the dll.
It's the case for the opengl extensions.
In other cases,you haven't the lib or this one change too often.
A dynamic load is also an answer in this cases.
Use this tool:
http://masm32.com/board/index.php?topic=581.msg4705#msg4705

Final version for Windows 10 can be found here:
https://github.com/ToutEnMasm71100
Some Inlines functions  are contents in crt10_32.lib (64)
Fa is a musical note to play with CL

Gunther

You have to know the facts before you can distort them.

Siekmanski

Unfortunately I can't download the file "http://luce.yves.pagesperso-orange.fr/sdkrc7.cab"
Connection to the server is broken when starting downloading or at 99% of the download.
Now and then I try to download it again but no succes.   :(
Creative coders use backward thinking techniques as a strategy.

TouEnMasm

#3
QuoteUnfortunately I can't download the file "http://luce.yves.pagesperso-orange.fr/sdkrc7.cab"
it seems there is some problems with my internet provider.I have also some problems to connect my site.
Try later...





Later: part of the translator to download
Fa is a musical note to play with CL

jj2007

If it wasn't 17 MB, I'd post it here... ::)

TouEnMasm

Hello,
I have posted a new version of the translator.

The translation will give you the same advantages as the windows sdk.
Alignment is the same as c++,64 bits ,unicode and ++.
At the instant only the windows sdk had all this.
Other need a modify of there text files.

I have no way to test the 64 bits usage.
Reports on it's use will be usefull.




Fa is a musical note to play with CL

TouEnMasm

#6
 :mrgreen:
I had forgotten to write the 32_64 values in the prototypes.
Mistake corrected.
Fa is a musical note to play with CL

TouEnMasm


New version posted had made the "ready to use sdk 7.1" working exactly as the original windows sdk.
Fa is a musical note to play with CL

GoneFishing

Hello ToutEnMasm!

Thank you for reply and link to your post. I've already downloaded headinc.zip . I'll try it.
I'm making my first steps in MASM and it's important for me to understand how to translate C++ headers to MASM includes.

GoneFishing

I've just translated several headers. Your utility is very easy to use and fast. But dbgeng.h has two dependencies which in turn have their own ones and so on ... so I've downloaded your sdkrc7 .cab (without any problems)
Thanks!

Magnum

I do not understand how these are used.

Thanks,
              Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

TouEnMasm


New version to adapt it to Windows 8.1
** Update of the list of variables (egales.txt)
     This avoid your favorite nightmare,What is this and where it is who generate errors at compile time.

** Many useless (for masm) defines added by MIDL are filtered.
** The search for duplicates names between api and interfaces fonctions is automatised (cherche_duplicate.txt)
    a 1 is added at the end of the interface name function.Made link happy.
** define values too long for ml are cutted in pieces (max 254).
** one correction  Machin bidule[] generate a dword
and more
Fa is a musical note to play with CL

TouEnMasm


corrected problem with _when_ (generating bad prototypes)
Fa is a musical note to play with CL

TouEnMasm


Posted the version who had made the ready to use sdk 8.1.
It's a little too much filtered to be sure not to fall on a comment.
The file specstrings_undef.sdk is the image of that.
Fa is a musical note to play with CL

TouEnMasm


Added the translation of conditionnal prototypes ,with #if #else #endif inside,I's the more current form.
Added in structure translation of  ,,; ex:RECT rect,recta,rectb;
added translation of #define Fillmystructure {,,,35]
small modified to decrease the number of manual corrections.
Most often,you have to modify duplicate name who can't be corrected all.
Fa is a musical note to play with CL