1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

WIN32 general query

Discussion in 'Win32' started by sas1992, Oct 3, 2008.

  1. sas1992

    sas1992 New Member

    HINSTANCE hinst
    HWND hWnd,
    UINT wMsgFilterMin
    UINT wMsgFilterMax
    UINT wRemoveMsg
    DWORD dw
    Can these be regarded as variables as we regard (int x) x as a variable???





    Any help will be appreciated.
     
  2. Cosmic_egg

    Cosmic_egg New Member

    HINSTANCE hinst
    HWND hWnd,
    UINT wMsgFilterMin
    UINT wMsgFilterMax
    UINT wRemoveMsg
    DWORD dw
    Yes all are variables,
    only thing is HWND and HINSTACE is defined as unsigned 32-bit quantities in windows.h but should not be modified by the programmer.
    UINT is unsigned integer and DWORD is 32 bit usigned integer. These can be used a normal variable
    see link for more clarity and details
    http://en.wikibooks.org/wiki/Windows_Programming/Handles_and_Data_Types#HANDLE
     
  3. sas1992

    sas1992 New Member

    Why doesnt Windows use int, char, unsigned int datatypes??????
     
  4. Cosmic_egg

    Cosmic_egg New Member

    "so that when you are reading the code, you know exactly what type of variable it is. "
    see Hungarian Notation in the link that I sent in the first reply.

    This is mainly for good readabilty of code and easier programming for complex codes.
    eg 1) DWORD is always 32 bytes int can be 16 , 32, 64 depending on machine.
    2) when I say HWND variable name, I know that the variable represent an handle to window which would not be known if i use int, also HWND is encapsulated and user need not worry about underlying datatype.
    3) when using int , int is taken as unsigned int in some machine and signed in some machine,
    which causing bugs in the code. for different os.
    i think the list goes on, just have to think about it.
     
  5. oogabooga

    oogabooga New Member

    You're thinking of "char" which is signed on some machines and unsigned on others.
    In C/C++, "int" is always signed.
     

Share This Page