Firstly, an object is a location in memory having a value and possibly referenced by an identifier. An object can be a variable, a data structure, or a function.
A class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions, methods).
int WINAPI WinMain:
- it's the function used as EntryPoint of Win32 projects.
HINSTANCE = Handle INSTANCE:
- it's a void pointer(void, int, bool... are types), not a class, is the base address of the module in memory.
hInstance and hPrevInstance:
- are parameters of the WinMain function, hInstance is the handle to the current instance of the application, and the hPrevInstance is a handle to the previous instance of the application, hPrevInstance is always NULL. yes, this is an object because it's in some location in the memory.
PSTR:
- it's a pointer of a 8bit string
pScmdline:
- The command line for the application. it's also an object.
int:
- Is a type not a class.
iCmdshow:
- it controls how the window is to be shown (minimized, maximized, hidden...), it's an object of a type.
see this question about the difference between types and class: What is the difference between Type and Class?