// ExecuteClassMethodPacket.cpp: implementation of the CExecuteClassMethodPacket class. // ////////////////////////////////////////////////////////////////////// #include "XMLTransportClientHelper.h" #include "XMLClientPacket.h" #include "ExecuteClassMethodPacket.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CExecuteClassMethodPacket::CExecuteClassMethodPacket(const WCHAR *pwszObjPath,const WCHAR *pwszNameSpace): CXMLClientPacket(pwszObjPath,pwszNameSpace,NULL) { m_ePathstyle = NOVAPATH; //assume nova path if this ctor is called. } ////////////////////////////////////////////////////////////////////// // Member functions ////////////////////////////////////////////////////////////////////// HRESULT CExecuteClassMethodPacket::GetBody(WCHAR **ppwszBody,DWORD *pdwLengthofPacket) { if((NULL == ppwszBody)||(NULL == m_pwszObjPath)) return E_INVALIDARG; HRESULT hr = S_OK; IStream *pStream = NULL; if(SUCCEEDED(hr = CreateStreamOnHGlobal(NULL,TRUE,&pStream))) { WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); if(SUCCEEDED(hr = GetXMLNamespaceInStream(pStream))) { WRITETOSTREAM(pStream, L""); WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); if(SUCCEEDED(hr)) { if(NULL != m_pWbemClassObject) hr = GetParamsFromObjectInStream(pStream); if(SUCCEEDED(hr)) { WRITETOSTREAM(pStream,L""); hr = GetWStringFromStream(pStream,ppwszBody,pdwLengthofPacket); } } } pStream->Release(); } return hr; }