Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.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 获取dbus消息中变量数据的实际类型_C_Systemd_Dbus - Fatal编程技术网

C 获取dbus消息中变量数据的实际类型

C 获取dbus消息中变量数据的实际类型,c,systemd,dbus,C,Systemd,Dbus,要对接收到的属性集消息进行一些预验证,我需要获取消息数据的类型,并将其与属性的类型进行比较 当我尝试窥视类型时(使用sd\u bus\u message\u peek\u type),它返回“v”,这是变量的签名。是否有可能获得包装在变体中的实际数据的签名?如何做到这一点?变体是一个容器,因此需要输入该容器才能获得实际类型 进入容器的操作已完成 输入容器后,下一个要读取的数据是变量包装值 请注意,预验证步骤可以通过调用sd\u bus\u message\u enter\u container

要对接收到的属性集消息进行一些预验证,我需要获取消息数据的类型,并将其与属性的类型进行比较

当我尝试窥视类型时(使用
sd\u bus\u message\u peek\u type
),它返回
“v”
,这是变量的签名。是否有可能获得包装在变体中的实际数据的签名?如何做到这一点?

变体是一个容器,因此需要输入该容器才能获得实际类型

进入容器的操作已完成

输入容器后,下一个要读取的数据是变量包装值


请注意,预验证步骤可以通过调用
sd\u bus\u message\u enter\u container
本身来完成

type
参数是属性的类型,如果它与消息数据的类型不匹配,则
sd\u bus\u message\u enter\u container
将返回
-ENXIO