4

Web サイトの HTML ソースをダウンロードし、それを文字列、リスト、配列、または実際に使用可能な形式で返す関数を作成しようとしています。これを行うために、私はURLOpenBlockingStreamという便利な関数を使用しています。この関数は、Web サイトの 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 配列に使用するとエラーが発生するため、それでも役に立ちません。

4

1 に答える 1

6

へのポインタIStreamです。「LP」は「LongPointer」の略で、現在は「ポインター」を意味します。これは、Windows SDKの一般的な命名規則です。たとえば、LPVOIDvoid*)およびLPWSTRwchar_t*)を参照してください。

SDKで宣言されている場所(つまり、含めたヘッダー)を見つけることで、タイプが何であるかをいつでも知ることができます。または、この場合、URLOpenBlockingStream呼び出している関数のドキュメントには、ppStreamパラメーターについて次のように記載されています。

IStreamこの関数によって作成されたストリームオブジェクトのインターフェイスへのポインタ。呼び出し元は、このポインターを取得するとすぐにストリームから読み取ることができます。

于 2012-08-23T18:25:29.407 に答える