Операционные системы. Марапулец Ю.В. - 23 стр.

UptoLike

Составители: 

bTest = VirtualFree( &( pBase[iStart * ITEM_SIZE] ), ITEM_SIZE,
MEM_DECOMMIT ) ;
if( ! bTest )
{
ShowErrorMsg( __LINE__ );
ExitProcess( (UINT)GetLastError() );
}
}
Далее обновляеся список и массив связей и проверяется, остались ли еще
элементы в списке.
ListBox_DeleteString( hwndList, iCurSel );
AdjustLookupTable( iCurSel );
bListEmpty =TRUE;
i = 0;
while( ( i < MAX_ITEMS ) && ( bListEmpty ) )
{
// если элемент используется, значит, список не пустой
bListEmpty = !bInUse[i++] ;
}
// изменить положение маркера выделения в списке
if(! bListEmpty )
{
if( iCurSel ) // удален ли первый элемент списка?
{ // нет; выбрать элемент над удаленной
// записью
ListBox_SetCurSel( hwndList, iCurSel-1 );
}
else // удаленная запись была самой верхней
// в списке;
{ // выбрать новую верхнюю запись
ListBox_SetCurSel ( hwndList, iCurSel );
}
}
return;
}
Когда программа удаляет все элементы списка, вызывается функция
DeleteList, которая освобождает память, прежде занятую записями.
23
           bTest = VirtualFree( &( pBase[iStart * ITEM_SIZE] ), ITEM_SIZE,
                              MEM_DECOMMIT ) ;
           if( ! bTest )
           {
                  ShowErrorMsg( __LINE__ );
                  ExitProcess( (UINT)GetLastError() );
           }
     }


     Далее обновляеся список и массив связей и проверяется, остались ли еще
элементы в списке.

     ListBox_DeleteString( hwndList, iCurSel );
     AdjustLookupTable( iCurSel );
     bListEmpty =TRUE;
     i = 0;
     while( ( i < MAX_ITEMS ) && ( bListEmpty ) )
     {
           // если элемент используется, значит, список не пустой
           bListEmpty = !bInUse[i++] ;
                      }
              // изменить положение маркера выделения в списке
     if(! bListEmpty )
     {
              if( iCurSel )          // удален ли первый элемент списка?
              {                      // нет; выбрать элемент над удаленной
                                 // записью
                     ListBox_SetCurSel( hwndList, iCurSel-1 );
              }
              else                    // удаленная запись была самой верхней
                                 // в списке;
              {                // выбрать новую верхнюю запись
                     ListBox_SetCurSel ( hwndList, iCurSel );
              }
     }
     return;
}



      Когда программа удаляет все элементы списка, вызывается функция
DeleteList, которая освобождает память, прежде занятую записями.

                                        23