为什么在从 Microsoft SDK 中包含 BluetoothAPIs.h 时会收到语法错误?

Why do I receive syntax error when including BluetoothAPIs.h from Microsoft SDK?

当我尝试包含 BluetoothAPIs.h 时,编译器向我显示多个语法错误,例如。 g.:

[C++ Error] BluetoothAPIs.h(133): E2141 Declaration syntax error
[C++ Error] BluetoothAPIs.h(171): E2238 Multiple declaration for '__checkReturn'
...

这是 BluetoothAPIs.h 代码的“无效”部分:

第 132-138 行:

__checkReturn
HBLUETOOTH_RADIO_FIND
WINAPI
BluetoothFindFirstRadio(
    __in const BLUETOOTH_FIND_RADIO_PARAMS * pbtfrp,
    __out HANDLE *                      phRadio
    );

第 170-176 行:

__checkReturn
BOOL
WINAPI
BluetoothFindNextRadio(
    __in  HBLUETOOTH_RADIO_FIND hFind,
    __out HANDLE * phRadio
    );

我从Microsoft SDK中获取的.h文件。

更新 2021:

我从来没有意识到真正导致错误的原因,但似乎使用 Visual Studio 而不是 Dev-C++ 可以解决问题。现在我想知道我应该改变什么才能让它在 Dev-C++ 中工作?

当你说 "The .h file I taked from Microsoft SDK." 时,你的意思是: a) SDK 安装在我的机器上并且可以在我的 IDE 中访问? b) 我只拿到了这个文件?

如果 b) 那么您丢失了很多文件...

宏 __checkReturn 的第一次出现在 BluetoothAPIs.h 的第 132 行,您提到的那个...