[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