1

現在VS2010でAWOLをしている他の誰かが書いたVS 2008プロジェクトを構築しようとしています。WinDDK インクルード、特に hidsdi.h について助けが必要です。

Win7 のクリーン インストールに WinDDK と VS2010 をインストールしました。[プロパティ] -> [VC++ ディレクトリ] -> [インクルード ディレクトリ] で、C:\WinDDK\7600.16385.1\inc\api と \ddk および \crt を追加しました。[プロパティ] -> [VC++ ディレクトリ] -> [ライブラリ ディレクトリ] で、C:\WinDDK\7600.16385.1\lib\win7\i386 を追加しました。

ただし、プロジェクトをビルドしようとすると、「エラー C3861: 'HidD_SetOutputReport': 識別子が見つかりません」および「エラー C3861: 'HidD_GetInputReport': 識別子が見つかりません」のインスタンスが繰り返し発生します。

hidsdh.h次のコードブロックから開きました:

extern "C" 
{
#include "setupapi.h" 
#include "hidsdi.h" 
}

また、エラー レポートに記載されている関数は、問題のヘッダー ファイル内に存在します。明らかに、インクルード パスに問題があります。いくつかの支援をいただければ幸いです。

4

1 に答える 1

1

NTDDI_VERSION を定義していないか、正しく定義していません。hidsdi.h でわかるように、HidD_SetOutputReport の定義はこれを条件としています。

#if (NTDDI_VERSION >= NTDDI_WINXP) 

NTDDI_VERSION は、サポートする Windows のバージョンを決定します。適切な値はここにあります。

于 2012-08-22T19:26:16.210 に答える