CComBSTR::ReadFromStream

CComBSTR::m_str メンバーの値として、指定されたストリームに格納された BSTR を設定します。

HRESULT ReadFromStream(
   IStream* pStream 
) throw( );

パラメーター

  • pStream
    [入力] データを格納しているストリームに対する IStream インターフェイスへのポインター。

戻り値

標準の HRESULT 値。

解説

ReadToStream では、ストリームの現在位置の内容と WriteToStream の呼び出しによって書き出されるデータ形式との互換性が必要です。

使用例

IDataObject* pDataObj;

// Fill in the FORMATETC struct to retrieve desired format 
// from clipboard
FORMATETC formatetcIn = {CF_TEXT, NULL, DVASPECT_CONTENT, -1, TYMED_ISTREAM};
STGMEDIUM medium;
ZeroMemory(&medium, sizeof(STGMEDIUM));

// Get IDataObject from clipboard
HRESULT hr = ::OleGetClipboard(&pDataObj);

// Retrieve data from clipboard
hr = pDataObj->GetData(&formatetcIn, &medium);

if (SUCCEEDED(hr) && medium.tymed == TYMED_ISTREAM)
{
   CComBSTR bstrStr;
   // Get BSTR out of the stream
   hr = bstrStr.ReadFromStream(medium.pstm);

   //release the stream
   ::ReleaseStgMedium(&medium);
}

必要条件

ヘッダー: atlbase.h

参照

関連項目

CComBSTR クラス