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