Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一张空白CD的状态结果是6_C#_Imapi - Fatal编程技术网

C# 一张空白CD的状态结果是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创建枚举

我不知道为什么在刻录机中插入空白介质时会得到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_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
}