警告 C28650:正在使用 !0 的类型不将其视为失败情况。
返回状态值,例如 !TRUE 与返回指示失败的状态值不同。
某些数据类型(如 NTSTATUS 和 HRESULT)具有将这些类型的值分类为 SUCCESS 或 FAILURE 的关联宏。 这些宏检查返回的值或值的最有效位以确定这一点。 因此,0 和 1 都分类为 SUCCESS 值。
修复此警告的正确方法是返回正确的错误代码,而不是 -1 等泛型值。
警告 C28650:正在使用 !0 的类型不将其视为失败情况。
返回状态值,例如 !TRUE 与返回指示失败的状态值不同。
某些数据类型(如 NTSTATUS 和 HRESULT)具有将这些类型的值分类为 SUCCESS 或 FAILURE 的关联宏。 这些宏检查返回的值或值的最有效位以确定这一点。 因此,0 和 1 都分类为 SUCCESS 值。
修复此警告的正确方法是返回正确的错误代码,而不是 -1 等泛型值。