| 
			 
					阅读:1392回复:7
				 
				这个“L”是什么意思?
					           QueryTable[0].Name  = L\"Parameters\";
 
							QueryTable[0].Flags = RTL_QUERY_REGISTRY_SUBKEY; QueryTable[0].EntryContext = NULL; QueryTable[1].Name = L\"UlongValue\"; QueryTable[1].Flags = RTL_QUERY_REGISTRY_DIRECT; QueryTable[1].EntryContext = &UlongValue; QueryTable[2].Name = L\"\"; // Default value QueryTable[2].Flags = RTL_QUERY_REGISTRY_DIRECT; QueryTable[2].EntryContext = &UnicodeString;  | 
	|
					
						
						
						
						
  | 
	
| 
			 沙发# 
								发布于:2003-02-11 09:34				
			QueryTable[0].Name = L\"Parameters\"; 又是个宏,好象将字符串转为宽的? :D  | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2003-02-11 09:38				
			
					能不能再讲的详细点,这样使用“L”就可以了?
 
							看书上一会说“宽字符串”,一会又说“UNICODE_STRING”,这两个有什么区别?  | 
	|
					
						
  | 
	
| 
			 地板# 
								发布于:2003-02-11 10:53				
			能不能再讲的详细点,这样使用“L”就可以了? 一个为两个字节的且以两个NULL结尾的? 一个为长度加个串的结构体?  | 
	|
					
						
  | 
	
| 
			 地下室# 
								发布于:2003-02-11 11:25				
			
					好痛苦,怎么会有这么多宏?书上也不讲,DDK里也找不到。
 
							谢谢大头兄。  | 
	|
					
						
  | 
	
| 
			 5楼# 
								发布于:2003-02-11 21:53				
			
					不是,也不是DDK才用的。
 
							为了支持UNICODE。加个L,告诉ms的编译器,这是个UNICODE char,否则会被当作ANSI char的,就错了。 看MSDN,_T和_TEXT宏的说明。  | 
	|
| 
			 6楼# 
								发布于:2003-02-11 22:28				
			
					驱动程序内部传送的为UNICODE char(一个字符占两个字节),ANSI char必须转换。				 
							 | 
	|
| 
			 7楼# 
								发布于:2003-02-12 11:31				
			
					看了一下DDK,明白了一点了,谢谢大家				 
							 | 
	|
					
						
  |