//Уничтожение DirectDraw
void DirectDrawClose()
{

//Поверхность с BMP1
IF (lpddsOffScreenBMP1!=NULL)
   {
   COMETHOD(lpddsOffScreenBMP1,#IDirectDrawSurface.Release);
   lpddsOffScreenBMP1 = NULL;
   }

//Поверхность с BMP2
IF (lpddsOffScreenBMP2!=NULL)
   {
   COMETHOD(lpddsOffScreenBMP2,#IDirectDrawSurface.Release);
   lpddsOffScreenBMP2 = NULL;
   }

//задний буфер
IF (lpddbackbuffer!=NULL)
   {
   COMETHOD(lpddbackbuffer,#IDirectDrawSurface.Release);
   lpddbackbuffer = NULL;
   }

// Основную поверхность уничтожаем
IF (lpddsprimary!=NULL)
   {
   COMETHOD(lpddsprimary,#IDirectDrawSurface.Release);
   lpddsprimary = NULL;
   }

// уничтожаем IDirectDraw interface
IF (lpDD!=NULL)
   {
   COMETHOD(lpDD,#IDirectDraw.RestoreDisplayMode);
   COMETHOD(lpDD,#IDirectDraw.SetCooperativeLevel, hWnd, DDSCL_NORMAL);
   COMETHOD(lpDD,#IDirectDraw.Release);
   lpDD = NULL;
   }
}
