我得到 6 作为空白 CD 的状态结果
本文关键字:CD 状态 结果 空白 | 更新日期: 2023-09-27 18:32:09
我不知道
为什么当我在刻录机中插入空白介质时,结果是 6。据我了解,IMAPI_FORMAT2_DATA_MEDIA_STATE
枚举的状态中没有 6 .
下面是一个包含此状态和我基于的示例的链接:MSDN:检查媒体支持。
var state = dataWriter.CurrentMediaStatus;
Debug.WriteLine((int)state); // outputs 6
它是两者的组合,基本上是对两个(或更多值)计算按位运算的。当您使用属性 Flags
创建枚举时,您可以对其执行按位操作,即使它应该在没有属性的情况下工作
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE
带有 IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE 的"OR"操作的 IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK 值将给出 6在 C# 中,值 = 2 |4;
如果您想测试该值是否包含某个选项,要走得更远,您可以继续执行类似操作
if ((value & IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK) == IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK)
{
//IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK is contained
}
您可以在此处阅读有关按位操作的更多信息
它相当于一个可标记的枚举。 6 是 4 + 2,所以状态是
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE