#include "headers.hxx" #pragma hdrstop #include "nr.hxx" LPTSTR NewDup( IN const TCHAR* psz ) { if (NULL == psz) { return NULL; } LPTSTR pszRet = new TCHAR[_tcslen(psz) + 1]; if (NULL == pszRet) { return NULL; } _tcscpy(pszRet, psz); return pszRet; } CNetResource::CNetResource(LPNETRESOURCE pnr) { if (NULL == pnr) { _bValid = FALSE; } else { _bValid = TRUE; _nr = *pnr; // now copy strings _nr.lpLocalName = NewDup(pnr->lpLocalName); _nr.lpRemoteName = NewDup(pnr->lpRemoteName); _nr.lpComment = NewDup(pnr->lpComment); _nr.lpProvider = NewDup(pnr->lpProvider); } } CNetResource::~CNetResource() { if (_bValid) { delete[] _nr.lpLocalName; delete[] _nr.lpRemoteName; delete[] _nr.lpComment; delete[] _nr.lpProvider; } } LPNETRESOURCE CNetResource::GetNetResource( VOID ) { if (_bValid) { return &_nr; } else { return NULL; } }