There are a few macros here which are there for mainly historic reasons, and the type and name of the parameter
BOOL WINAPI SetComputerName(
_In_ LPCTSTR lpComputerName
);
BOOL
is used for booleans as C didn't have a bool type standardised before 1999 and the Windows API is older than that, see Why does microsoft use so many macros in their C++ code?
WINAPI
is used to mark Windows API functions with a calling convention, see What does "WINAPI" in main function mean? . Usually this doesn't matter to you, only to your compiler.
LPTCSTR
means 'long pointer to a const TCHAR string'. See LPCSTR, LPCTSTR and LPTSTR . TCHAR
is another macro which is either a single byte or wide character depending on compile time options. This one you need to pay attention to, as it is the type of the parameter.
_In_
marks the parameter as an input to the function, rather than pointing to storage for a result. This is sometimes useful documentation, and also a hint to code analysis. See What is _In_ in C++?
lpComputerName
the 'lp' is Microsoft Hungarian notation for 'long pointer' containing the new value of the computer name.
'long pointer' is a reference to the old memory model where you had 16 bit pointers and 32 bit 'long pointers', now-a-days all the pointers are either 32 or 64 bit depending on compiler options.
Historically, P stands for "pointer" and LP stands for "long pointer".
Long pointers (also called far pointers) are a holdover from 16-bit
Windows, when they were needed to address memory ranges outside the
current segment. The LP prefix was preserved to make it easier to port
16-bit code to 32-bit Windows. Today there is no distinction — a
pointer is a pointer. - Windows Coding Conventions