次の方法で共有


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 を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-misc-l1-2-0 (Windows 8.1で導入)

関連項目

関数

ジェスチャのプログラミング ガイド