コンパイラの警告 (レベル 1) C4165

'HRESULT' は 'bool' に変換されようとしています。続行しますか?

if ステートメントで HRESULT を使用する場合、変数を HRESULT として明示的にテストしない限り、HRESULT は bool に変換されます。 既定では、この警告はオフに設定されています。

次の例では C4165 が生成されます

// C4165.cpp
// compile with: /W1
#include <windows.h>
#pragma warning(1:4165)

extern HRESULT hr;
int main() {
   if (hr) {
   // try either of the following ...
   // if (FAILED(hr)) { // C4165 expected
   // if (hr != S_OK) {
   }
}