访问共享的文件时,如果对方没开机,需要很长时间才失败,如何快速判断是否可以访问

访问共享的文件时,如果对方没开机,需要很长时间才失败,怎么快速判断是否可以访问?
程序很简单,需要把图像保存到远程机器的共享里,我的代码是这样写的:

CString netpath = _T("\\\\192.168.40.53\\WallPapers\\" + m_name + ".bmp");
Status sta = img->Save(netpath, &bmpClsid);
//通过sta判断是否保存成功

当40.53这台机器连接正常的时候运行没问题,但是如果这台机器关机了,程序运行到这就会卡住,完全失去响应,而且需要等很长时间函数才返回,继续执行判断的部分,不知道怎样才能快速的得知共享文件是否能访问,或者如何自己设置一个短些的超时时间,防止程序长时间的失去响应,我试了用PathFileExists函数,也是一样慢,感觉原理是一样的,都是让系统去访问,但系统的这个超时时间太长了
------解决思路----------------------
也可以换个思路,开一个线程去img->Save(netpath, &bmpClsid);
然后主线程设置个计时器,三秒后还没有保存成功,主线程则认定为保存失败,作失败处理。
新开的线程img->Save(netpath, &bmpClsid);阻塞到一定时间后自行结束。