// Line.cpp : Implementation of CLine #include "stdafx.h" #include "GraphObj.h" #include "Line.h" ///////////////////////////////////////////////////////////////////////////// // CLine STDMETHODIMP CLine::InterfaceSupportsErrorInfo(REFIID riid) { static const IID* arr[] = { &IID_ILine, }; for (int i=0;iRead(&m_Line, sizeof(LINEDATA), &cb); if (FAILED(hr)) return hr; if (sizeof(LINEDATA) != cb) return E_FAIL; return NOERROR; } STDMETHODIMP CLine::IMyPersistStreamImpl_Save(LPSTREAM pIStream, BOOL /* fClearDirty */) { ULONG cb; HRESULT hr; if (NULL==pIStream) return ResultFromScode(E_POINTER); // // Write an object into the stream. // hr=pIStream->Write(&m_Line, (ULONG)sizeof(LINEDATA), &cb); if (FAILED(hr) || sizeof(LINEDATA)!=cb) return ResultFromScode(STG_E_WRITEFAULT); return NOERROR; } STDMETHODIMP CLine::IMyPersistStreamImpl_GetSizeMax(ULARGE_INTEGER FAR* pcbSize) { pcbSize->LowPart = (DWORD)(sizeof(LINEDATA)); pcbSize->HighPart = 0L; return NOERROR; }