我如何阅读MSDN并申请?

时间:2013-01-04 01:45:12

标签: c++ visual-studio msdn manual

好的,所以我想停止询问关于如何做大多数编程工作的很多问题,因为我的大多数问题都给出了答案,说“阅读MSDN”创立here.事实上,我不知道如何阅读它或大多数编程语言。例如,让我们在MSDN上找到FtpCreateDirectory函数(你可以找到here

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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_相反,这意味着您将传入已分配的内存并且函数将写入它,因此您可以在函数调用后使用函数写入的值来使用它。

答案 1 :(得分:0)

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

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

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