C++代码看不懂,求大神指点

FormatMessage(

FORMAT_MESSAGE_ALLOCATE_BUFFER |

FORMAT_MESSAGE_FROM_SYSTEM |

FORMAT_MESSAGE_IGNORE_INSERTS,

NULL,
GetLastError(),
0,
(LPTSTR) &lpMsgBuf,
0,
NULL
);
这段代码不太清楚什么意思,尤其是 (LPTSTR) &lpMsgBuf这句,请大神们指点指点

把错误转换成到lpMsgBuf里啊,(LPTSTR) &lpMsgBuf,你使用了FORMAT_MESSAGE_ALLOCATE_BUFFER,会自动生成buffer,把buffer的指针放到lpMsgBuf里,LPTSTR = 表示一个tchar的指针。

LP:长指针(long pointer)。
T:win32环境中有一个_T宏,用来标识字符是否采用Unicode编码(两字节表示一个字符),若程序中定义了Unicode,该字符/字符串被作为Unicode字符串,否则就是标准的ANSI(单字节表示一个字符)字符串。
STR:表示这个变量是一个字符串。