次の方法で共有


HidP_GetCollectionDescription関数 (hidpddi.h)

デバイス記述ブロックにコレクションの説明と、指定したレポート記述子の対応するレポート ID 情報を入力します。 HID ミニドライバーは、通常、この関数を呼び出す必要はありません。 代わりに、 IOCTL_HID_GET_REPORT_DESCRIPTORに応答して Hidclass ドライバーにレポート記述子を返します。

構文

NTSTATUS HidP_GetCollectionDescription(
  [in]  PHIDP_REPORT_DESCRIPTOR ReportDesc,
  [in]  ULONG                   DescLength,
  [in]  POOL_TYPE               PoolType,
  [out] PHIDP_DEVICE_DESC       DeviceDescription
);

パラメーター

[in] ReportDesc

生のレポート記述子を含む UCHAR 配列へのポインター。

[in] DescLength

レポート記述子配列の長さ。

[in] PoolType

リンク リストのメモリが割り当てられるプールの種類を示す POOL_TYPE値。 これには、HIDP_DEVICE_DESCの各HIDP_COLLECTION_DESC配列要素、各HIDP_COLLECTION_DESCの各HIDP_PREPARSED_DATA、HIDP_DEVICE_DESCの各配列要素HIDP_REPORT_IDS含まれます

[out] DeviceDescription

コレクション 記述子にリンク リストとして入力されたデバイス記述ブロックが設定されたHIDP_DEVICE_DESC構造体へのポインター。 これは呼び出し元によって割り当てられた構造体です。 ただし、 そのHIDP_COLLECTION_DESC 配列要素と HIDP_REPORT_IDS 配列要素は、この関数によって割り当てられます。

戻り値

HidP_GetCollectionDescription は、次のいずれかの値を返すことができます。デバイスの説明ブロックに正常に入力された場合は TRUE です。 それ以外の場合は、 FALSE を返します

戻り値 説明
STATUS_SUCCESS
レポート記述子を正常に解析し、デバイスを記述するために必要なメモリ ブロックを割り当てた。
STATUS_NO_DATA_DETECTED
レポート記述子で最上位のコレクションを見つけることができませんでした。
STATUS_COULD_NOT_INTERPRET
レポート記述子でエラーが検出されました。 HIDP_DEVICE_DESC構造体の Dbg フィールドのエラー コードを参照してください。
STATUS_BUFFER_TOO_SMALL
より多くのデータが必要な場合に、レポート記述子の末尾が見つかりました。
STATUS_INSUFFICIENT_RESOURCES
メモリの割り当てに失敗しました。
STATUS_ILLEGAL_INSTRUCTION
レポート記述子のアイテムを解析できませんでした。
HIDP_STATUS_INVALID_REPORT_TYPE
記述子に 0 のレポート ID が見つかりました。

注釈

ReportDesc パラメーターで指定された未加工のレポート記述子の場合、HidP_GetCollectionDescriptionDeviceDescription ブロックに、コレクション記述子の呼び出し元によって割り当てられたリンクされたリストと、指定されたレポート記述子によって記述される対応するレポート ID 情報を入力します。 コレクション情報と ReportID 情報のメモリは、 PoolType 値に基づいて割り当てられます。

要件

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