WIN API serial

tiszaii tiszaii at axelero.hu
Tue Jun 15 10:46:34 CEST 2004


> Van ra lehetoseg, hogy az elveszett soros kapcsolatot, amirol a win2000 ugy latja, hogy en 
> foglaltam le,  de a programom mar nem tud vele mit kezdeni, (lezaras, ujra megnyitas nem 
> segit,) ujra inicializalja valami API-s mesterkedes? Pontositva: ha tuloldali hw okok miatt 
> lefoglalva marad egy com port, azt csak ujra inditassal lehet eletre kelteni, programbol nem lehet 
> valami hatarozottabb osztokelessel resetelni?

BOOL CloseHandle(HANDLE hObject);
Ha nullával tér vissza akkor nem tudta lezárni a portot, ekkor
meghivod a DWORD GetLastError(void), ez megadja hogy mi volt a baj.
pl. igy
void error(LPSTR lpszFunction)
{
     CHAR szBuf[80];
     DWORD dw = GetLastError();

     sprintf(szBuf, "%s failed: GetLastError returned %u\n",
         lpszFunction, dw);

     MessageBox(NULL, szBuf, "Error", MB_OK);
     ExitProcess(dw);
}

Általában akkor nem zárja le a portot a CloseHandle)..), ha
a hObjct handle kezelő thread még fut és közben akarod
lezárni a portor, először a threadet kell lezárni/megszüntetni, persze 
ha használsz thread-et.


-- 
Tiszai Istvan
http://tiszaii.fw.hu




More information about the Elektro mailing list