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 を返します。
戻り値 | 説明 |
---|---|
|
レポート記述子を正常に解析し、デバイスを記述するために必要なメモリ ブロックを割り当てた。 |
|
レポート記述子で最上位のコレクションを見つけることができませんでした。 |
|
レポート記述子でエラーが検出されました。 HIDP_DEVICE_DESC構造体の Dbg フィールドのエラー コードを参照してください。 |
|
より多くのデータが必要な場合に、レポート記述子の末尾が見つかりました。 |
|
メモリの割り当てに失敗しました。 |
|
レポート記述子のアイテムを解析できませんでした。 |
|
記述子に 0 のレポート ID が見つかりました。 |
注釈
ReportDesc パラメーターで指定された未加工のレポート記述子の場合、HidP_GetCollectionDescriptionは DeviceDescription ブロックに、コレクション記述子の呼び出し元によって割り当てられたリンクされたリストと、指定されたレポート記述子によって記述される対応するレポート ID 情報を入力します。 コレクション情報と ReportID 情報のメモリは、 PoolType 値に基づいて割り当てられます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | hidpddi.h (Hidpddi.h を含む) |
Library | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |