使用CLSIDFromString将字符串GUID转化成十六进制GUID/UUID
			 2021-09-06
			  409
			 0
			
			
			
				
			
			
		
			Windows的一般会给相同类型的设备接口注册相同的GUID,但GUID有时别人给的是一个字符串,但是在实际使用过程中我们又使用的是GUID类型,其结构定义如下:
typedef struct _GUID {
    unsigned long  Data1;
    unsigned short Data2;
    unsigned short Data3;
    unsigned char  Data4[ 8 ];
} GUID;
其实微软提供了一相函数来进行从字符串到GUID十六进制类型的转化,这个函数叫CLSIDFromString。
#include <windows.h>
#include <stdio.h>
int main()
{
#define TO_SEARCH_DEVICE_UUID L"{781aee18-7733-4ce4-add0-91f41c67b592}"
    GUID AGuid;
    CLSIDFromString(TO_SEARCH_DEVICE_UUID, &AGuid);
    printf("GUID: %08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%2X%02X \n",
        AGuid.Data1,
        AGuid.Data2,
        AGuid.Data3,
        AGuid.Data4[0],
        AGuid.Data4[1],
        AGuid.Data4[2],
        AGuid.Data4[3],
        AGuid.Data4[4],
        AGuid.Data4[5],
        AGuid.Data4[6],
        AGuid.Data4[7]
    );
    return 0;
}
输出为:
GUID: 781AEE18-7733-4CE4-ADD0-91F41C67B592
 Win32 API功能封装
			Win32 API功能封装
			




