/* * $Id: AwkExtio.cpp 117 2008-03-03 11:20:05Z baconevi $ * * {License} */ #include "stdafx.h" #include "asecom.h" #include "AwkExtio.h" #include ///////////////////////////////////////////////////////////////////////////// // CAwkExtio CAwkExtio::CAwkExtio (): name (NULL) { VariantInit (&handle); } CAwkExtio::~CAwkExtio () { if (name != NULL) SysFreeString (name); VariantClear (&handle); } STDMETHODIMP CAwkExtio::get_Name (BSTR *pVal) { if (name == NULL) *pVal = name; else { BSTR tmp = SysAllocStringLen (name, SysStringLen(name)); if (tmp == NULL) return E_OUTOFMEMORY; *pVal = tmp; } return S_OK; } BOOL CAwkExtio::PutName (const TCHAR* val) { if (name != NULL) SysFreeString (name); name = SysAllocString (val); return (name == NULL)? FALSE: TRUE; } STDMETHODIMP CAwkExtio::get_Type(AwkExtioType *pVal) { *pVal = type; return S_OK; } STDMETHODIMP CAwkExtio::get_Mode(AwkExtioMode *pVal) { *pVal = mode; return S_OK; } STDMETHODIMP CAwkExtio::get_Handle (VARIANT *pVal) { VariantClear (pVal); VariantCopy (pVal, &handle); return S_OK; } STDMETHODIMP CAwkExtio::put_Handle (VARIANT newVal) { VariantClear (&handle); VariantCopy (&handle, &newVal); return S_OK; }