Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Win32 (http://www.go4expert.com/forums/win32/)
-   -   WIN32 general query (http://www.go4expert.com/forums/win32-general-query-t14330/)

sas1992 3Oct2008 14:12

WIN32 general query
 
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.

Cosmic_egg 4Oct2008 10:11

Re: WIN32 general query
 
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...a_Types#HANDLE

sas1992 6Oct2008 19:59

Re: WIN32 general query
 
Why doesnt Windows use int, char, unsigned int datatypes??????

Cosmic_egg 7Oct2008 22:41

Re: WIN32 general query
 
"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.

oogabooga 7Oct2008 23:55

Re: WIN32 general query
 
Quote:

Originally Posted by Cosmic_egg
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.

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


All times are GMT +5.5. The time now is 20:12.