请教,XMLHTTPRequest 在VC2008 SP1里面的头文件是什么
请问,XMLHTTPRequest 在VC2008 SP1里面的头文件是什么啊
请问,XMLHTTPRequest 在VC2008 SP1里面的头文件是什么啊,都需要加载哪写代码能引入XMLHTTP方法,比如:
#import
import ...
import ... 请教大侠们
------解决方案--------------------
http://www.example-code.com/vcpp/http_xmlhttp.asp
------解决方案--------------------
请问,XMLHTTPRequest 在VC2008 SP1里面的头文件是什么啊,都需要加载哪写代码能引入XMLHTTP方法,比如:
#import
import ...
import ... 请教大侠们
------解决方案--------------------
http://www.example-code.com/vcpp/http_xmlhttp.asp
------解决方案--------------------
- C/C++ code
BEGIN_DISPATCH_MAP(CXMLDOMSamples, CCmdTarget) DISP_FUNCTION_ID(CXMLDOMSamples, "Ready State Event Handler", DISPID_XMLDOMEVENT_ONREADYSTATECHANGE, DOMDocCheckState, VT_EMPTY, 0) END_DISPATCH_MAP() class CXMLDOMSamples : public CCmdTarget { private: HRESULT m_hr; IXMLDOMDocument* m_pIXMLDOMDocument; BSTR m_bstrXMLDocName; DWORD m_pdwCookie; public: BOOL AdviseConnectionPoint(BOOL bAdvise = TRUE); void Caller(); BOOL DOMDocLoadLocation(); BOOL DOMDocStateChangeSetup(); void DOMDocCheckState(); }; // Assumptions // m_pIXMLDOMDocument has already been initialized (a DOMDocument // object has been created). // Automation is enabled for the class to enable it to connect // to the Connection point (DIID_XMLDOMDocumentEvents). void CXMLDOMSamples::Caller() { try { m_bstrXMLDocName = ::SysAllocString(_T("http://MyServer/sample.xml")); DOMDocStateChangeSetup(); DOMDocLoadLocation(); ::SysFreeString(m_bstrXMLDocName); m_bstrXMLDocName = NULL; } catch(...) { if(m_bstrXMLDocName) ::SysFreeString(m_bstrXMLDocName); DisplayErrorToUser(); } } BOOL CXMLDOMSamples::AdviseConnectionPoint(BOOL bAdvise) { BOOL bResult = FALSE; try { IConnectionPointContainer *pIConnectionPointContainer = NULL; IConnectionPoint *pCP = NULL; m_hr = m_pIXMLDOMDocument->QueryInterface (IID_IConnectionPointContainer,(void**)&pIConnectionPointContainer); SUCCEEDED(m_hr) ? 0 : throw m_hr; If(pIConnectionPointContainer) { m_hr = pIConnectionPointContainer->FindConnectionPoint (DIID_XMLDOMDocumentEvents, &pCP); SUCCEEDED(m_hr) ? 0 : throw m_hr; if(SUCCEEDED(m_hr) && pCP) { if(bAdvise) m_hr = pCP->Advise(GetIDispatch(TRUE), &m_pdwCookie); else m_hr = pCP->Unadvise(m_pdwCookie); bResult = SUCCEEDED(m_hr) ? TRUE : FALSE; pCP->Release(); pCP = NULL; } pIConnectionPointContainer->Release(); pIConnectionPointContainer = NULL; } } catch(...) { if(pIConnectionPointContainer) pIConnectionPointContainer->Release(); if(pCP) pCP->Release(); DisplayErrorToUser(); } return bResult; } BOOL CXMLDOMSamples::DOMDocStateChangeSetup() { BOOL bResult = FALSE; try { m_hr = m_pIXMLDOMDocument->put_async(VARIANT_TRUE); SUCCEEDED(m_hr) ? 0 : throw m_hr; bResult = AdviseConnectionPoint(); } catch(...) { DisplayErrorToUser(); } return bResult; } BOOL CXMLDOMSamples::DOMDocLoadLocation() { short sResult = FALSE; BOOL bResult = FALSE; try { _variant_t varString = m_bstrXMLDocName; m_hr = m_pIXMLDOMDocument->load(varString, &sResult); bResult = SUCCEEDED(m_hr) ? TRUE : FALSE; } catch(...) { DisplayErrorToUser(); } return bResult; } void CXMLDOMSamples::DOMDocCheckState() { IXMLDOMParseError *pIParseError = NULL; long value; try { m_hr = m_pIXMLDOMDocument->get_readyState(&value); SUCCEEDED(m_hr) ? 0 : throw m_hr; if(value == 4 ) { m_hr = m_pIXMLDOMDocument->get_parseError(&pIParseError); SUCCEEDED(m_hr) ? 0 : throw m_hr; m_hr = pIParseError->get_errorCode(&value); pIParseError->Release(); pIParseError=NULL; if(!SUCCEEDED(m_hr)) { throw m_hr; } m_strOutput = (value != 0) ? _T("Load Error") : _T("Load Succeeded"); } } catch(...) { if(pIParseError) pIParseError->Release(); DisplayErrorToUser(); } }