1. Procese Windows; comunicaţii prin pipe şi IPC 2
1. Procese Windows; comunicaţii prin pipe şi IPC 2
1. Procese Windows; comunicaţii prin pipe şi IPC 2
- TAGS
- procese
- pipe
- www.cs.ubbcluj.ro
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Procese</strong> <strong>Windows</strong>; <strong>comunicaţii</strong> <strong>prin</strong> <strong>pipe</strong> <strong>şi</strong> <strong>IPC</strong> - 5 -<br />
3. In spaţiul Project Name se scrie numele proiectului, în cazul nostru prim sau filtru.<br />
4. In spaţiul Location se trece locul în structura de directori, în care mediul î<strong>şi</strong> va dezvolta<br />
aplicaţia, de exemplu \Useri\florin. Aici, mediul creează un subdirector cu numele<br />
proiectului (în cazul nostru prim sau filtru).<br />
5. Se alege tipul de aplicaţie consolă dorit: An empty project, A simple application, A “Hello<br />
world!” application, An application that supports MFC. Considerăm că în acest exemplu<br />
am ales: A simple application.<br />
6. După Ok, se afişează un mesaj de informare, iar în subdirectorul din location sunt create<br />
subdirectoarele: SourceFiles, HeaderFiles <strong>şi</strong> ResourceFiles. De asemenea,<br />
este depus acolo un fi<strong>şi</strong>er ReadMe.txt în care se explică rolul fiecărui fi<strong>şi</strong>er sau<br />
director creat de mediu.<br />
7. Se selectează din mediu FileView, se expandează directorul cu numele proiectului, apoi<br />
subdirectorul SourceFiles în care se află un fi<strong>şi</strong>er cu numele proiectului <strong>şi</strong> tipul cpp.<br />
Acest fi<strong>şi</strong>er sursă conţine, gata generat, scheletul programului <strong>prin</strong>cipal (al funcţiei<br />
main). După un dublu click pe numele acestuia, el apare în fereastra de editare.<br />
8. Din acest moment programatorul poate să scrie efectiv conţinutul aplicaţiei sale, plecând<br />
de la scheletul furnizat de mediu.<br />
9. La terminare, meniul Build oferă, <strong>prin</strong>tre altele, posibilitatea de a compila sursa respectivă<br />
(Compile sau Ctrl+F7), respectiv să obţină un fi<strong>şi</strong>er exe (Build sau F7).<br />
10. Fi<strong>şi</strong>erul de tip exe obţinut este plasat în subdirectorul Debug al directorului cu numele<br />
proiectului. El poate fi lansat în execuţie din mediu sau dinafara lui, poate fi copiat în altă<br />
parte (cum l-am depus noi pe prim.exe în e:\florin) <strong>şi</strong> lansa de acolo, etc.<br />
<strong>1.</strong>2. Access la fi<strong>şi</strong>ere <strong>şi</strong> aşteptarea unor evenimente <strong>Windows</strong><br />
<strong>1.</strong>2.<strong>1.</strong> Funcţii de access la fi<strong>şi</strong>ere<br />
Descriem pe scurt prototipurile funcţiilor de lucru cu fi<strong>şi</strong>ere sub <strong>Windows</strong>. Pentru mai multe<br />
informatii legate de prototipurile acestor funcţii, se recomandă consultarea documentaţiei<br />
MSDN.<br />
HANDLE CreateFile (LPCTSTR numeFisier, DWORD acces,<br />
DWORD partajare, LPSECURITY_ATTRIBUTES descr_sec,<br />
DWORD mod_deschid, DWORD atributeFisier);<br />
numeFisier –numele fi<strong>şi</strong>erului care se va crea<br />
acces –modul de acces (în citire <strong>şi</strong>/sau scriere)<br />
partajare –modul de partajare a fi<strong>şi</strong>erului<br />
mod_deschid –modul de creare a fi<strong>şi</strong>erului<br />
atributeFisier –atribute fi<strong>şi</strong>er<br />
HFILE OpenFile ( LPCSTR numeFisier, LPOFSTRUCT lpBuf, UINT uActiune);<br />
numeFisier –numele fi<strong>şi</strong>erului care se va deschide<br />
lpBuf –pointer la o structură care reţine informaţii despre fi<strong>şi</strong>er<br />
uActiune –indică operaţia care se va efectua asupra fi<strong>şi</strong>erului<br />
BOOL WriteFile (HANDLE hFisier, LPCVOID lpBuf, DWORD nNrOctetiDeScris,<br />
LPDWORD lpNumarOctetiScrisi, LPOVERLAPPED lpStructIO);