C++ 什么';它是LPSTREAM对象,我如何使用它?

C++ 什么';它是LPSTREAM对象,我如何使用它?,c++,stream,C++,Stream,我正在尝试编写一个函数,它将下载网站的HTML源代码,并以字符串、列表、数组或任何可用格式返回它。为此,我使用了一个看起来很方便的函数,名为,它将下载一个网站的HTML源代码,并将其放置在LPSTREAM类型的对象中 //Saves the HTML souce of stackoverflow.com in the object "lps", of type LPSTREAM. HRESULT hr = URLOpenBlockingStream(0, "http://www.stackove

我正在尝试编写一个函数,它将下载网站的HTML源代码,并以字符串、列表、数组或任何可用格式返回它。为此,我使用了一个看起来很方便的函数,名为,它将下载一个网站的HTML源代码,并将其放置在LPSTREAM类型的对象中

//Saves the HTML souce of stackoverflow.com in the object "lps", of type LPSTREAM.
HRESULT hr = URLOpenBlockingStream(0, "http://www.stackoverflow.com/", &lps, 0, 0); 
这是什么?我在互联网上的任何地方都找不到LPSTREAM的参考资料,也没有人解释我是如何从那里获取数据的。它可能只是一个IStream对象,但即使这样也没有帮助,因为在char数组中使用插入运算符会产生错误。

它是指向一个字符串的指针。“LP”代表“长指针”,现在它只是“指针”的意思。这是Windows SDK中常见的命名约定,例如请参见
LPVOID
void*
)和
LPWSTR
wchar\t*

通过查找类型在SDK中声明的位置(即,在您包含的标题中),您始终可以找到类型是什么。或者,在本例中,您正在调用的函数的文档说明了关于
ppStream
参数的以下内容:

指向此函数创建的流对象上的接口的指针。调用者只要有了这个指针就可以从流中读取数据


啊,脸掌。谢谢你的快速回复!