[pso] probleme liste windows

omar Chouydary chouydary at yahoo.com
Mon Apr 2 18:51:01 EEST 2007


Daca tu vrei sa scoti toate elementele, in momentul in care scoti un element nu ar trebui sa mai treci la urmatorul (prin acel i=i->Next din for, si j-ul asociat)... cred ca asta e faza. S-ar putea sa sari peste niste elemente. Cel putin asa pare.

Octavian Purdila <tavi at cs.pub.ro> wrote:  On Sunday 01 April 2007 12:12, Dragos Tatulea wrote:
> Stiu ca este probabil o intrebare stupida, stiu ca (probabil) este ceva
> foarte evident, dar totusi: De ce nu merge?
> Am o lista simplu inlantuita, din care vreau sa sterg toate elementele care
> contin un anumit numar. Asta este
> cod-ul:
> 
> for ( j = &SciMonList, i = SciMonList.Next; i; j = i, i = i->Next)
> {
> mple = CONTAINING_RECORD( i, struct MonProcList, lh);
> if ( mple->syscall == syscall)
> {
> DbgPrint( "SCI: SciDelMonitor: 0 deleting syscall %d pid %d\n",
> mple->syscall, mple->pid);
> 
> ExInterlockedPopEntryList( j, &SciMonListLock);
> ExFreePoolWithTag( mple, 'mple');
> }
> }
> 
> Reusesc sa sterg primul element din lista, dupa care imi iese din for. Nu
> imi dau seama exact ce se intampla...
> Se modifica pointerii cumva aiurea?

Codul pare ok. Poate nu ai decat un singur element in lista cu acel syscall?

tavi
_______________________________________________
pso mailing list
pso at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso


 
---------------------------------
 Get your own web address.
 Have a HUGE year through Yahoo! Small Business.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20070402/16ba28ba/attachment.html


More information about the pso mailing list