can someone please help me with this Win32 API code written in VC++6.0 This is the first program .. and i really can't get any further without solving this!!
-----------------------------------------------------
#include<windows.h>

long FAR PASCAL ProcessMessagefn(HWND hWnd,UINT message,WPARAM wparam,LPARAM lparam);

int PASCAL WinMain(HANDLE hInstance,HANDLE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wc;
MessageBox(0,"Welcome","Application",MB_OK);
if(!hPrevInstance)
{
wc.style=NULL;
wc.lpfnWndProc=ProcessMessagefn;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=
GetStockObject(WHITE_BRUSH);
wc.lpszMenuName=NULL;
wc.lpszClassName="MyClass";

if(!RegisterClass(&wc))
{
MessageBox(0,
"Could not register class",
"Application",
MB_OK
);
return FALSE;
}
}

hwnd=CreateWindow
(
"MyClass",
"Hello World",
WS_OVERLAPPEDWINDOW,10,10,200,300,
NULL,
NULL,
hInstance,
NULL
);
if(!hwnd)
{
MessageBox(0,"Could not create window",
"Application",MB_OK);
return FALSE;
}

ShowWindow(hwnd,nCmdShow);

while(GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
MessageBox(0,"Application terminating",
"Application",MB_OK);

return(0);
}

long FAR PASCAL ProcessMessagefn(HWND hWnd,UINT message,WPARAM wparam,LPARAM lparam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,message,
wparam,lparam);
}
return 0;
}

----------------------------------------------------
it gives me the following errors:
Compiling...sampleapp.cpp

C:\Win32\samplewindowapp\sampleapp.cpp(6) :
error C2731: 'WinMain' : function cannot be overloaded
C:\Win32\samplewindowapp\sampleapp.cpp(5) : see declaration of 'WinMain'

C:\Win32\samplewindowapp\sampleapp.cpp(17) : error C2440: '=' : cannot convert from 'void *' to 'struct HINSTANCE__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

C:\Win32\samplewindowapp\sampleapp.cpp(20) : error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

C:\Win32\samplewindowapp\sampleapp.cpp(31) :
error C2664: 'CreateWindowExA' : cannot convert parameter 11 from 'void *' to 'struct HINSTANCE__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

Error executing cl.exe.

sampleapp.obj - 4 error(s), 0 warning(s)

someone please help me.......................