C# 一张空白CD的状态结果是6
我不知道为什么在刻录机中插入空白介质时会得到6。据我所知,在C# 一张空白CD的状态结果是6,c#,imapi,C#,Imapi,我不知道为什么在刻录机中插入空白介质时会得到6。据我所知,在IMAPI\u FORMAT2\u DATA\u MEDIA\u STATE的枚举状态中没有6 下面是一个包含以下状态的链接和我基于的示例: 它相当于一个可标记的枚举。6是4+2,因此状态为 IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE 这是两者的结合,基本上是对这两个(或多个)值进行位运算。 当您使用属性Flags创建枚举
IMAPI\u FORMAT2\u DATA\u MEDIA\u STATE
的枚举状态中没有6
下面是一个包含以下状态的链接和我基于的示例:
它相当于一个可标记的枚举。6是4+2,因此状态为
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE
这是两者的结合,基本上是对这两个(或多个)值进行位运算。 当您使用属性
Flags
创建枚举时,您可以对其执行位操作,即使它不使用属性也可以工作
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK的值与IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE的“或”运算将得到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
}
您可以阅读更多有关逐位操作的内容好的,顺便问一下,您知道系统映像会发生什么情况吗,它会自动删除还是我必须自己删除,谢谢您的帮助。我相信您需要您自己删除它,我还没有测试过,我想您会知道何时看到它被删除或不被删除。
if ((value & IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK) == IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK)
{
//IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK is contained
}