2

私のマシンに接続されているデバイスの場合、デバイス プロパティのBus Reported Device Descriptionを取得したいと考えています。この目的のために、 Setup API の関数 SetupDiGetDeviceProperty を使用ます。devpkey.hでDEVPKEY_Device_BusReportedDeviceDescという定義を見つけまし

しかし、DEVPKEY_Device_BusReportedDeviceDesc を使用すると、リンク中に未解決の外部シンボル _DEVPKEY_Device_BusReportedDeviceDesc受け取ります。

これが私のコードです(問題を再現するための最小限のコードのみが含まれています):

#include "stdafx.h"

#include <Windows.h>
#include <devpropdef.h>
#include <devpkey.h>

int main()
{
    DEVPROPKEY x = DEVPKEY_Device_BusReportedDeviceDesc;

    return 0;
}

完全なエラー コードは次のとおりです。

エラー LNK2001: 未解決の外部シンボル _DEVPKEY_Device_BusReportedDeviceDesc

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

6

この問題を修正するには、initguid.hを含める必要があります。これはdevpropdef.hdevpkey.hの前に含める必要があります。

#include "stdafx.h"
#include <initguid.h>   // include before devpropdef.h
#include <Windows.h>
#include <devpropdef.h>
#include <devpkey.h>

int main()
{
    DEVPROPKEY x = DEVPKEY_Device_BusReportedDeviceDesc;

    return 0;
}
于 2017-12-08T12:24:40.073 に答える