gpt4 book ai didi

c++ - 什么是 LPSTREAM 对象以及如何使用它?

转载 作者:太空狗 更新时间:2023-10-29 20:28:50 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数将下载网站的 HTML 源代码并以字符串、列表、数组或任何可用格式返回它。为此,我使用了一个名为 URLOpenBlockingStream 的看起来很方便的函数。 ,它将下载网站的 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 数组中使用插入运算符会产生错误。

最佳答案

它是一个指向 IStream 的指针. “LP”代表“Long Pointer”,现在只是“指针”的意思。这是 Windows SDK 中常见的命名约定,例如参见 LPVOID (void*) 和 LPWSTR (wchar_t*).

您始终可以通过查找类型在 SDK 中的声明位置(即,在您包含的 header 中)来了解类型是什么。或者,在这种情况下,URLOpenBlockingStream 的文档您正在调用的函数说明了有关 ppStream 参数的以下信息:

A pointer to the IStream interface on the stream object created by this function. The caller can read from the stream as soon as it has this pointer.

关于c++ - 什么是 LPSTREAM 对象以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12097795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com