Compartir a través de


Función CloseGestureInfoHandle (winuser.h)

Cierra los recursos asociados a un identificador de información de gestos.

Sintaxis

BOOL CloseGestureInfoHandle(
  HGESTUREINFO hGestureInfo
);

Parámetros

hGestureInfo

Identificador de información de gestos.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, use la función GetLastError .

Comentarios

Si una aplicación procesa un mensaje de WM_GESTURE , es responsable de cerrar el identificador mediante esta función. Si no lo hace, es posible que se produzcan pérdidas de memoria de proceso.

Si el mensaje se pasa a DefWindowProc o se reenvía mediante una de las clases PostMessage o SendMessage de las funciones de API, el identificador se transfiere con el mensaje y la aplicación no necesita cerrarlo.

Ejemplos

El código siguiente muestra un controlador que cierra el controlador GESTUREINFO si se ha controlado el gesto.

  LRESULT DecodeGesture(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
    // Create a structure to populate and retrieve the extra message info.
    GESTUREINFO gi;  
    
    ZeroMemory(&gi, sizeof(GESTUREINFO));
    
    gi.cbSize = sizeof(GESTUREINFO);

    BOOL bResult  = GetGestureInfo((HGESTUREINFO)lParam, &gi);
    BOOL bHandled = FALSE;

    if (bResult){
        // now interpret the gesture
        switch (gi.dwID){
           case GID_ZOOM:
               // Code for zooming goes here     
               bHandled = TRUE;
               break;
           case GID_PAN:
               // Code for panning goes here
               bHandled = TRUE;
               break;
           case GID_ROTATE:
               // Code for rotation goes here
               bHandled = TRUE;
               break;
           case GID_TWOFINGERTAP:
               // Code for two-finger tap goes here
               bHandled = TRUE;
               break;
           case GID_PRESSANDTAP:
               // Code for roll over goes here
               bHandled = TRUE;
               break;
           default:
               // A gesture was not recognized
               break;
        }
    }else{
        DWORD dwErr = GetLastError();
        if (dwErr > 0){
            //MessageBoxW(hWnd, L"Error!", L"Could not retrieve a GESTUREINFO structure.", MB_OK);
        }
    }
    if (bHandled){
        return 0;
    }else{
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
  }

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-misc-l1-2-0 (introducido en Windows 8.1)

Vea también

Funciones

Guía de programación para gestos