如何阅读 MSDN 并申请

How do I read the MSDN and apply?

本文关键字:MSDN 何阅读      更新时间:2023-10-16

好的,所以我想停止问很多关于如何做大多数编程的问题,因为我的大多数问题都给出了"阅读MSDN"的答案。问题是,我不知道如何阅读它或大多数编程语言。例如,让我们以MSDN上的FtpCreateDirectory函数为例(你可以在这里找到(。

现在,假装我刚刚学会了这个功能,我想尝试一下。我如何阅读它,如何获取它向我显示的功能/命令。如何输入?这句话无济于事:

BOOL FtpCreateDirectory(
_In_  HINTERNET hConnect,
_In_  LPCTSTR lpszDirectory
);

谢谢!

我自己没有用过这个,但让我们逐步举个例子:

HINTERNET hinternet = InternetConnect(...); //assume hinternet is valid
if (!FtpCreateDirectory(hinternet, "C:\example")) {
    std::cerr << "Error creating FTP directory. Code: " << GetLastError();
}

循序渐进:

  • 首先,我们得到一个HINTERNET句柄。如何?好吧,文档对参数是这样说的:

上一次使用 INTERNET_SERVICE_FTP 对 InternetConnect 的调用返回的句柄。

这就是我在示例中调用InternetConnect的原因。

  • 接下来,我们看第二个参数。查看Windows Data Types文章,您可以看到它需要CONST WCHAR *CONST CHAR *,具体取决于是否定义了UNICODE。为简单起见,我表现得好像不是,尽管您可以使用 TEXT 宏根据UNICODE使字符串文本变宽或变窄。

指向以 null 结尾的字符串的指针,该字符串包含要创建的目录的名称。这可以是完全限定的路径,也可以是相对于当前目录的名称。

正如我们所看到的,它只是一条路径,所以我传递了一个示例路径。这只是一个示例,但请记住"备注"部分对此参数的说明。

  • 现在,我们检查返回值:

如果成功,则返回 TRUE,否则返回 FALSE。若要获取特定的错误消息,请调用 GetLastError。(更多未显示(

因此,我们将调用包装在 if 语句中以捕获错误,我们可以检索代码以使用 GetLastError .使用每个函数文章中描述的错误处理技术非常重要。他们中的很多人说,在出现错误时,您可以使用GetLastError,但有些不支持GetLastError用法,有些支持不同类型的错误检索函数,因此请确保单独遵循每个函数的指南。

除此之外,_In_意味着参数进入并且之后没有用。这与 _Out_ 相反,这意味着您将传入分配的内存,函数将写入它,因此您可以在函数调用后使用它与函数写入的值一起使用。

在 MSDN 的引用部分中,有一个基本假设,即您了解 API 集的上下文。

如果win32 c(++(编程是你想要的,那么你需要阅读一个介绍做Windows编程/win32。目前尚不清楚您感兴趣的领域是什么,您是否正在尝试编写桌面应用程序,服务器,驱动程序,....

在某些情况下,像Charles Petzold编程窗口这样的经典书籍是一个很好的起点。MSDN也有很多入门级的东西(谷歌"开始win32编程"(