次の方法で共有


CComBSTR::Attach

CComBSTR::m_str メンバーの値としてパラメーター src を設定して、BSTRCComBSTR オブジェクトにアタッチします。

void Attach(
   BSTR src 
) throw( );

パラメーター

  • src
    [入力] オブジェクトにアタッチする BSTR

解説

通常のワイド文字列をこのメソッドに渡さないでください。コンパイラでエラーをキャッチできないため、ランタイム エラーが発生します。

[!メモ]

m_strNULL 以外の場合は、このメソッドによってアサートされます。

使用例

// STDMETHOD(BSTRToUpper)(/*[in, out]*/ BSTR bstrConv);
STDMETHODIMP InplaceBSTRToUpper(BSTR bstrConv)
{
   // Assign bstrConv to m_str member of CComBSTR
   CComBSTR bstrTemp;
   bstrTemp.Attach(bstrConv); 

   // Make sure BSTR is not NULL string
   if (!bstrTemp)
        return E_POINTER;

   // Make string uppercase 
   HRESULT hr;
   hr = bstrTemp.ToUpper();
   if (hr != S_OK)
       return hr;

   // Set m_str to NULL, so the BSTR is not freed
   bstrTemp.Detach(); 

   return S_OK; 
}

必要条件

ヘッダー: atlbase.h

参照

関連項目

CComBSTR クラス

CComBSTR::Detach

CComBSTR::operator =