RegisterRawInputDevices 関数 (winuser.h)

未加工の入力データを提供するデバイスを登録します。

構文

BOOL RegisterRawInputDevices(
  [in] PCRAWINPUTDEVICE pRawInputDevices,
  [in] UINT             uiNumDevices,
  [in] UINT             cbSize
);

パラメーター

[in] pRawInputDevices

種類: PCRAWINPUTDEVICE

生入力を提供するデバイスを表す RAWINPUTDEVICE 構造体の配列。

[in] uiNumDevices

型: UINT

pRawInputDevices が指す RAWINPUTDEVICE 構造体の数。

[in] cbSize

型: UINT

RAWINPUTDEVICE 構造体のサイズ (バイト単位)。

戻り値

種類: BOOL

関数 が成功した場合は TRUE。それ以外の場合は FALSE。 関数が失敗した場合は、 GetLastError を呼び出して詳細を確認します。

注釈

WM_INPUTメッセージ 受信するには、アプリケーションでまず RegisterRawInputDevices を使用して生の入力デバイスを登録する必要があります。 既定では、アプリケーションは生の入力を受け取りません。

WM_INPUT_DEVICE_CHANGE メッセージ 受信するには、アプリケーションで 、RAWINPUTDEVICE 構造体の usUsagePage フィールドと usUsage フィールドで指定された各デバイス クラスに対して、RIDEV_DEVNOTIFY フラグを指定する必要があります。 既定では、アプリケーションは未加工の入力デバイスの到着と削除に関する WM_INPUT_DEVICE_CHANGE 通知を受け取りません。

RAWINPUTDEVICE 構造体に RIDEV_REMOVE フラグが設定されていて、hwndTarget パラメーターが NULL に設定されていない場合、パラメーターの検証は失敗します。

生入力デバイス クラスごとに 1 つのウィンドウのみを登録して、プロセス内で生の入力を受信できます (RegisterRawInputDevices の最後の呼び出しで渡されたウィンドウ)。 このため、RegisterRawInputDevices はライブラリから使用しないでください。これは、読み込むアプリケーションに既に存在する生入力処理ロジックに干渉する可能性があるためです。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-rawinput-l1-1-0 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

RAWINPUTDEVICE

未加工の入力

参照

WM_INPUT