vc开发的bho插件,已经通过接口IWebBrowser2和浏览器建立连接,现在要获取网页页面《body》内的源代码并在浏览器上用文本对话框显示源代码,
  写的源代码如下:
HRESULT CViewSource::GetDocumentContent()
{
  USES_CONVERSION;
  
  // 获取 WebBrowser的文档对象
  CComPtr<IDispatch> pDisp;
  HRESULT hr = m_spWebBrowser2->get_Document(&pDisp);
  if (FAILED(hr))
   return hr;  // 确保我们取得的是一个IHTMLDocument2接口指针
  //让我们查询一下 IHTMLDocument2 接口 (使用灵敏指针)
  CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spHTML;
  spHTML = pDisp;  // 抽取文档源代码
  if (spHTML)
  {
    // 取得BODY 对象
    hr = spHTML->get_body(&m_pBody); 
    if (FAILED(hr))
        return hr;
    // 取得HTML 文本
    BSTR bstrHTMLText;
    hr = m_pBody->get_outerHTML(&bstrHTMLText); 
    if (FAILED(hr))
     return hr;
    // 进行文本的Unicode到 ANSI的转换
    LPTSTR psz = new TCHAR[SysStringLen(bstrHTMLText)];
    lstrcpy(psz, OLE2T(bstrHTMLText));
     // 文本进行相应的调整
    HWND hwnd = m_dlgCode.GetDlgItem(IDC_TEXT);
    EnableWindow(hwnd, true);
    hwnd = m_dlgCode.GetDlgItem(IDC_APPLY);
    EnableWindow(hwnd, true);    // 设置代码窗口中的文本
    m_dlgCode.SetDlgItemText(IDC_TEXT, psz); 
    delete [] psz;
  }
  else   // 文档不是一个 HTML 页
  {
    m_dlgCode.SetDlgItemText(IDC_TEXT, ""); 
    HWND hwnd = m_dlgCode.GetDlgItem(IDC_TEXT);
    EnableWindow(hwnd, false);
    hwnd = m_dlgCode.GetDlgItem(IDC_APPLY);
    EnableWindow(hwnd, false);
  }编译后显示 m_dlgCode和IDC_TEXT等没定义,m_dlgCode应该是个CDialog对象,IDC_TEXT应该是CEdit对象,
我是新手,源代码是从网上下的,求大侠告知,代码少了些什么,那些对象没有创建。