help on win32 api in assembly

assembly, c, masm

Solution

DWORDS are a 32-bit type on 32-bit windows, as are all the types in the C version of the structure. The two are therefore compatible.

Problem

why are the structure declarations in assembly different from those in the win32 api documentation.(i am coming from c++ and trying my hand at assembly language) for example i got this function prototype from icezelion's tutorials(tutorial3) ``` WNDCLASSEX STRUCT DWORD cbSize DWORD ? style DWORD ? lpfnWndProc DWORD ? cbClsExtra DWORD ? cbWndExtra DWORD ? hInstance DWORD ? hIcon DWORD ? hCursor DWORD ? hbrBackground DWORD ? lpszMenuName DWORD ? lpszClassName DWORD ? hIconSm DWORD ? WNDCLASSEX ENDS ``` Hey wait...I know that "WNDCLASSEX" structure, in my offline version of the win32 api documentation, its declared as.... ``` typedef struct _WNDCLASSEX { // wc UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HANDLE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; } WNDCLASSEX; ``` Why is it that the asm version uses DWORD's only contrary to what is in the win32 api documentation? Am i using the wrong docs or what? and if i am can someone post me a download link for WIN32 api documentation meant for asm programmers? Help, am confused. Edited: Here is the link to the tutorial i was refering to: iczelion's win32 asm tutorial 3

Original source