/*************************************************************************/ /* Copyright (C) 1999 Microsoft Corporation */ /* File: DVDRect.cpp */ /* Description: Implementation of CDVDRect */ /* Author: David Janecek */ /*************************************************************************/ #include "stdafx.h" #include "MSWebDVD.h" #include "DVDRect.h" #include ///////////////////////////////////////////////////////////////////////////// // CDVDRect /*************************************************************************/ /* Function: get_x */ /*************************************************************************/ STDMETHODIMP CDVDRect::get_x(long *pVal){ HRESULT hr = S_OK; try { if(NULL == pVal){ throw(E_POINTER); }/* end of if statement */ *pVal = m_x; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function get_x */ /*************************************************************************/ /* Function: put_x */ /*************************************************************************/ STDMETHODIMP CDVDRect::put_x(long newVal){ HRESULT hr = S_OK; try { m_x = newVal; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function put_x */ /*************************************************************************/ /* Function: get_y */ /*************************************************************************/ STDMETHODIMP CDVDRect::get_y(long *pVal){ HRESULT hr = S_OK; try { if(NULL == pVal){ throw(E_POINTER); }/* end of if statement */ *pVal = m_y; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function get_y */ /*************************************************************************/ /* Function: put_y */ /*************************************************************************/ STDMETHODIMP CDVDRect::put_y(long newVal){ HRESULT hr = S_OK; try { m_y = newVal; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function put_y */ /*************************************************************************/ /* Function: get_Width */ /*************************************************************************/ STDMETHODIMP CDVDRect::get_Width(long *pVal){ HRESULT hr = S_OK; try { if(NULL == pVal){ throw(E_POINTER); }/* end of if statement */ *pVal = m_lWidth; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function get_Width */ /*************************************************************************/ /* Function: put_Width */ /*************************************************************************/ STDMETHODIMP CDVDRect::put_Width(long newVal){ HRESULT hr = S_OK; try { if(newVal <= 0){ throw(E_INVALIDARG); }/* end of if statement */ m_lWidth = newVal; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function put_Width */ /*************************************************************************/ /* Function: get_Height */ /*************************************************************************/ STDMETHODIMP CDVDRect::get_Height(long *pVal){ HRESULT hr = S_OK; try { if(NULL == pVal){ throw(E_POINTER); }/* end of if statement */ *pVal = m_lHeight; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function get_Height */ /*************************************************************************/ /* Function: put_Height */ /*************************************************************************/ STDMETHODIMP CDVDRect::put_Height(long newVal){ HRESULT hr = S_OK; try { if(newVal <= 0){ throw(E_INVALIDARG); }/* end of if statement */ m_lHeight = newVal; } catch(HRESULT hrTmp){ hr = hrTmp; }/* end of catch statement */ catch(...){ hr = E_UNEXPECTED; }/* end of catch statement */ return HandleError(hr); }/* end of function put_Height */ /*************************************************************************/ /* Function: GetInterfaceSafetyOptions */ /* Description: For support of security model in IE */ /* This control is safe since it does not write to HD. */ /*************************************************************************/ STDMETHODIMP CDVDRect::GetInterfaceSafetyOptions(REFIID /*riid*/, DWORD* pdwSupportedOptions, DWORD* pdwEnabledOptions){ HRESULT hr = S_OK; if(!pdwSupportedOptions || !pdwEnabledOptions){ return E_POINTER; } *pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA; *pdwEnabledOptions = *pdwSupportedOptions; return(hr); }/* end of function GetInterfaceSafetyOptions */ /*************************************************************************/ /* Function: SetInterfaceSafetyOptions */ /* Description: For support of security model in IE */ /*************************************************************************/ STDMETHODIMP CDVDRect::SetInterfaceSafetyOptions(REFIID /*riid*/, DWORD /* dwSupportedOptions */, DWORD /* pdwEnabledOptions */){ return (S_OK); }/* end of function SetInterfaceSafetyOptions */ /*************************************************************************/ /* Function: InterfaceSupportsErrorInfo */ /*************************************************************************/ STDMETHODIMP CDVDRect::InterfaceSupportsErrorInfo(REFIID riid){ static const IID* arr[] = { &IID_IDVDRect, }; for (int i=0; i