[pso] probleme liste windows

Octavian Purdila tavi at cs.pub.ro
Sun Apr 1 13:50:25 EEST 2007


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


More information about the pso mailing list