如何将GUID值分配给变量?

时间:2015-11-19 20:25:07

标签: c++ qt qt-creator guid

我正在处理GUID定义如下的代码:

DEFINE_GUID( GUID_DEVINTERFACE_USB_DISK,
             0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2,
             0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b );

我想更改该值并使用here中的其他类GUID,其定义为{A5DCBF10-6530-11D2-901F-00C04FB951ED}

如何设置此值或创建一个设置为此值的新GUID变量?

基于另一个答案here,我尝试了但这不起作用

GUID USB_GUID = GUID {"{A5DCBF10-6530-11D2-901F-00C04FB951ED}"}

请注意,此GUID稍后在我的代码中由Windows API使用:

if ( ! SetupDiEnumDeviceInterfaces( hDevInfo, 
                                    NULL,
                                    &GUID_DEVINTERFACE_USB_DISK,
                                    dwIndex, &spdid ))
break;

1 个答案:

答案 0 :(得分:1)

检查此QUuid课程(因为您将此问题标记为与Qt相关):

它有三个可以解决你的问题的构造者:

public String frontBack(String str) {
    if (str.length() <= 1) {
        return str;
    } else {
        String mid = str.substring(1, str.length() - 1);
        return str.charAt(str.length() - 1) + mid + str.charAt(0);
    }
}

我认为QUuid(uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8) QUuid(const QString & text) QUuid(const GUID & guid) QUuid( "0xA5DCBF10-6530-11D2-901F-00C04FB951ED" )都应该为您创建一个正确设置的QUuid。

例如,如果您需要将QUUid转换回GUID(将其发送到SetupDiEnumDeviceInterfaces),根据this post,您只需执行以下操作:

QUuid( GUID_DEVINTERFACE_USB_DISK )