Share via


HidP_SetData関数 (hidpi.h)

HidP_SetData ルーチンは、HID レポートで指定された HID コントロール ボタンと値の使用法のセットを設定します。

構文

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, out] PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

パラメーター

[in] ReportType

Report にある HID レポートの種類を示す HIDP_REPORT_TYPE 列挙子の値を指定 します

[in, out] DataList

設定するボタンと使用値を指定 するHIDP_DATA 構造体の呼び出し元によって割り当てられた配列へのポインター。

[in, out] DataLength

入力時に、 DataList 配列内のメンバーの数を指定します。 出力値の詳細については、「解説」セクションを参照してください。

[in] PreparsedData

最上位レベルの 準備済みデータへのポインター。

[in] Report

HID レポートへのポインター。

[in] ReportLength

Report にある HID レポートのサイズをバイト単位で指定します。これは、コレクションのHIDP_CAPS構造体で返HidP_GetCaps指定したレポートの種類のレポートの長さと同じである必要があります。

戻り値

dataList で指定されたすべてのコントロール データが正常に設定された場合、HidP_SetDataはHIDP_STATUS_SUCCESSを返 します

HidP_SetData は、入力パラメーターのいずれかが無効な場合に、次のいずれかの状態値を返します。

リターン コード 説明
HIDP_STATUS_INVALID_PREPARSED_DATA
PreparsedData で指定された準備済みデータが無効です。
HIDP_STATUS_INVALID_REPORT_LENGTH
HID レポートのサイズ (バイト単位) は、指定したレポートの種類に対してコレクションの HIDP_CAPS 構造体で指定された長さと等しくありません。
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType が無効です。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
コレクションには、指定した型のレポートが含まれていません。
 

HidP_SetDataは、指定したボタンまたは使用状況の値のいずれかを設定できなかった場合に、次のいずれかのエラー値を返します。

リターン コード 説明
HIDP_STATUS_BUFFER_TOO_SMALL
配列内のボタンが ON (1) に設定されていません。これは、すべての配列フィールドが既に他のボタンのインデックス付けに使用されているためです。
HIDP_STATUS_BUTTON_NOT_PRESSED
DataList メンバーは、ボタンを OFF (ゼロ) に設定することを指定しますが、ボタンは既に OFF に設定されています。
HIDP_STATUS_DATA_INDEX_NOT_FOUND
DataList メンバーのデータ インデックスが無効です。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
ボタンまたは使用状況の値はレポートに含まれていますが、指定されたレポートには含まれません。
HIDP_STATUS_IS_VALUE_ARRAY
データ インデックスは 、使用値配列を指定します。

注釈

使用値配列を除き、ユーザー モード アプリケーションまたはカーネル モード ドライバーでは 、HidP_SetData を使用して、レポート内のボタンと使用状況の値を設定できます。 使用値配列を設定するには、アプリケーションまたはドライバーで HidP_SetUsageValueArrayを使用する必要があります。

HidP_SetDataDataLength の出力値を次のように設定します。

詳細については、「 HID コレクション」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header hidpi.h (Hidpi.h を含む)
Library Hidparse.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA