如何使用MSDN

时间:2018-08-09 12:18:21

标签: c++ msdn

这似乎是一个愚蠢的问题,但是文档要么不好,要么我丢失了一些我没有读过的东西。每当我向MSDN咨询有关c ++的问题时,我总是感到困惑。类似于SetComputerName函数。我查了一下MSDN,却不知道如何使用它,因为我一无所知。任何人都可以教我如何阅读此类内容,如果您能以通俗易懂的方式对其进行解释,则我不太擅长c ++了,谢谢!

BOOL WINAPI SetComputerName(
_In_ LPCTSTR lpComputerName
);

1 个答案:

答案 0 :(得分:4)

这里有一些主要出于历史原因的宏,以及参数的类型和名称

BOOL WINAPI SetComputerName(
_In_ LPCTSTR lpComputerName
);

BOOL用于布尔值,因为C在1999年之前没有标准化的bool类型,并且Windows API的版本早于此,请参见Why does microsoft use so many macros in their C++ code?

WINAPI用于用调用约定标记Windows API函数,请参见What does "WINAPI" in main function mean?。通常,这对您来说并不重要,仅对您的编译器而言。

LPTCSTR的意思是“指向const TCHAR字符串的长指针”。参见LPCSTR, LPCTSTR and LPTSTRTCHAR是另一个宏,根据编译时选项的不同,它可以是单字节或宽字符。您需要注意的这一点,因为它是参数的类型。

_In_将参数标记为函数的输入,而不是指向结果存储。有时这是有用的文档,同时也是代码分析的提示。参见What is _In_ in C++?

lpComputerName,“ lp”是Microsoft匈牙利语中的“长指针”,其中包含计算机名的新值。

“长指针”是对旧内存模型的引用,在旧内存模型中,您有16位指针和32位“长指针”,如今,根据编译器选项,所有指针都是32位或64位。 >

  

从历史上看,P代表“指针”,LP代表“长指针”。   长指针(也称为远指针)是16位的保留   Windows,当需要它们来解决超出范围的内存范围时   当前细分。保留了LP前缀,以便于移植   16位代码到32位Windows。今天没有区别-   指针是一个指针。 -Windows Coding Conventions