如何将GUID值分配给变量
How to assign GUID value to a variable?
我正在处理GUID定义如下的代码:
DEFINE_GUID( GUID_DEVINTERFACE_USB_DISK,
0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2,
0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b );
我想更改值并使用不同的类GUID,在这里它被定义为{A5DCBF10-6530-11D2-901F-00C04FB951ED}
如何设置为该值或创建一个新的GUID变量,该变量设置为此值?
根据这里的另一个答案,我试过了,但不起作用
GUID USB_GUID = GUID {"{A5DCBF10-6530-11D2-901F-00C04FB951ED}"}
请注意,此GUID稍后在我的代码中由windows API使用:
if ( ! SetupDiEnumDeviceInterfaces( hDevInfo,
NULL,
&GUID_DEVINTERFACE_USB_DISK,
dwIndex, &spdid ))
break;
检查此QUuid类(因为您将此问题标记为与Qt相关):
它有三个构造函数可以解决您的问题:
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( GUID_DEVINTERFACE_USB_DISK )
都应该为您创建一个正确的QUuid设置。
例如,根据这篇文章,如果你需要将QUUid转换回GUID(将其发送到SetupDiEnumDeviceInterfaces),你只需要执行以下操作:
QUuid boo( "0xA5DCBF10-6530-11D2-901F-00C04FB951ED" );
GUID uid = static_cast<GUID>(boo);
相关文章:
- 何时在函数中声明堆栈分配变量?
- 取消引用指针并立即为其分配变量,导致分段错误
- 在C++中动态分配变量类型
- 在函数 (c++) 中分配变量类型和大小数组
- 无法在命名空间范围内分配变量
- 自我分配变量的定义
- 在 CUDA C++中分配变量 - 无法分配设备变量
- 在 CPP 中动态分配变量的数据类型
- 为什么无法在类主体中分配变量?
- const 类方法是否阻止在类外部分配变量?
- 从文件中分配变量,并使用定界符分配
- 分配指针后,是否可以为指针指向的事物分配变量名称?
- 读取外部文件并在类似xml的输入中分配变量
- 有没有办法在不分配变量的情况下将字符串连接到数字
- 如果使用alloca在内联函数中的堆栈上分配变量,那么在内联函数返回后,其引用是否有效
- 堆分配变量的结构成员对齐
- 包含溢出缓冲区的堆栈分配变量,也称为缓冲区
- 在 GetTransfer 之后,我在帐户 1 收到未分配变量错误。我无法弄清楚我搞砸了什么逻辑错误
- 对动态分配的变量的引用与指向相同动态分配变量的指针
- 在C++中为用户输入分配变量