// ExecuteInstanceMethodPacket.cpp: implementation of the CExecuteInstanceMethodPacket class. // ////////////////////////////////////////////////////////////////////// #include "XMLTransportClientHelper.h" #include "XMLClientPacket.h" #include "ExecuteInstanceMethodPacket.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CExecuteInstanceMethodPacket::CExecuteInstanceMethodPacket(const WCHAR *pwszObjPath,const WCHAR *pwszNameSpace): CXMLClientPacket(pwszObjPath,pwszNameSpace,NULL) { m_ePathstyle = NOVAPATH; //assume nova path if this ctor is called. } ////////////////////////////////////////////////////////////////////// // Member functions ////////////////////////////////////////////////////////////////////// HRESULT CExecuteInstanceMethodPacket::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""); WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); WRITETOSTREAM(pStream,L""); if(SUCCEEDED(GetXMLNamespaceInStream(pStream))) { WRITETOSTREAM(pStream,L""); if(SUCCEEDED(hr)) { if(SUCCEEDED(hr = GetKeyBindingsInStream(pStream))) { WRITETOSTREAM(pStream,L""); if(SUCCEEDED(hr = GetParamsFromObjectInStream(pStream))) { WRITETOSTREAM(pStream,L""); hr = GetWStringFromStream(pStream,ppwszBody,pdwLengthofPacket); } } } } pStream->Release(); } return hr; }