CloseGestureInfoHandle 함수(winuser.h)

제스처 정보 핸들과 연결된 리소스를 닫습니다.

구문

BOOL CloseGestureInfoHandle(
  HGESTUREINFO hGestureInfo
);

매개 변수

hGestureInfo

제스처 정보 핸들입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError 함수를 사용합니다.

설명

애플리케이션이 WM_GESTURE 메시지를 처리하는 경우 이 함수를 사용하여 핸들을 닫습니다. 이렇게 하지 않으면 프로세스 메모리 누수로 인해 발생할 수 있습니다.

메시지가 DefWindowProc에 전달되거나 API 함수의 PostMessage 또는 SendMessage 클래스 중 하나를 사용하여 전달되는 경우 핸들은 메시지와 함께 전송되며 애플리케이션에서 닫을 필요가 없습니다.

예제

다음 코드는 제스처가 처리된 경우 GESTUREINFO 핸들을 닫는 처리기를 보여 줍니다.

  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);
    }
  }

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-misc-l1-2-0(Windows 8.1 도입)

참조

함수

제스처에 대한 프로그래밍 가이드