Unicode时RegSetValueEx注意事项
来源:互联网 发布:php从入门到精通第5版 编辑:程序博客网 时间:2024/06/05 11:13
RegSetValueEx中最后两个参数Lpdata和cbDate需要特别注意。
Lpdata:当dwType为REG_SZ或REG_MULTI_SZ时,若定义了unicode则该参数应为wchar_t*型字符串(以NULL结尾);
若没有定义unicode则为char *型字符串(以NULL结尾)。
cbDate:表示Lpdata的字节长度。若为字符型则需要包含NULL和字符串。
RegSetValueEx Function
Sets the data and type of a specified value under a registry key.
Syntax
LONG WINAPI RegSetValueEx( __in HKEY hKey, __in_opt LPCTSTR lpValueName, __reserved DWORD Reserved, __in DWORD dwType, __in_opt const BYTE* lpData, __in DWORD cbData);
Parameters
- hKey
A handle to an open registry key. The key must have been opened with the KEY_SET_VALUE access right. For more information, seeRegistry Key Security and Access Rights.
This handle is returned by the RegCreateKeyEx,RegCreateKeyTransacted,RegOpenKeyEx, or RegOpenKeyTransacted function. It can also be one of the followingpredefined keys:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_USERS
- lpValueName
The name of the value to be set. If a value with this name is not already present in the key, the function adds it to the key.
If lpValueName is NULL or an empty string, "", the function sets the type and data for the key's unnamed or default value.
For more information, see Registry Element Size Limits.
Registry keys do not have default values, but they can have one unnamed value, which can be of any type.
- Reserved
This parameter is reserved and must be zero.
- dwType
The type of data pointed to by the lpData parameter. For a list of the possible types, seeRegistry Value Types.
- lpData
The data to be stored.
For string-based types, such as REG_SZ, the string must be null-terminated. With the REG_MULTI_SZ data type, the string must be terminated with two null characters.
- cbData
The size of the information pointed to by the lpData parameter, in bytes. If the data is of type REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ,cbData must include the size of the terminating null character or characters.
Return Value
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use theFormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
Remarks
Value sizes are limited by available memory. Long values (more than 2048 bytes) should be stored as files with the file names stored in the registry. This helps the registry perform efficiently. Application elements such as icons, bitmaps, and executable files should be stored as files and not be placed in the registry.
If dwType is the REG_SZ, REG_MULTI_SZ, or REG_EXPAND_SZ type and the ANSI version of this function is used (either by explicitly callingRegSetValueExA or by not defining UNICODE before including the Windows.h file), the data pointed to by thelpData parameter must be an ANSI character string. The string is converted to Unicode before it is stored in the registry.
Note that operations that access certain registry keys are redirected. For more information, seeRegistry Virtualization and 32-bit and 64-bit Application Data in the Registry.
- Unicode时RegSetValueEx注意事项
- VC在Unicode下RegSetValueEx写入注册表乱码问题
- 使用Unicode编程注意事项
- 使用RegSetValueEx时要注意的一点问题
- 【谨慎】ANSI与Unicode转换的注意事项
- ANSI和UNICODE编程的注意事项
- 注册表修改( RegCreateKeyEx , RegSetValueEx )
- RegSetValueEx()一点备注
- 注册表中RegSetValueEx用法
- RegSetValueEx和RegDeleteValue函数 .
- RegSetValueEx和RegDeleteValue函数
- RegSetValueEx和RegDeleteValue函数
- RegSetValueEx出错的问题
- 使用RegSetValueEx时一定要确定写入的长度与实际的长度相符,这样才能保存数据的正确性
- 嵌入开发的一些经验(Windows下Unicode的注意事项)
- 【Visual C++ 2010】Unicode和ANSI的一些注意事项
- 关于Unicode和URL encoding入门的一切以及注意事项
- 2014-04-16工作日志:error:用RegSetValueEx设置注册表的SZ_DWORD类型的值时,提示无访问内存的权限
- HDOJ 1495 非常可乐 (bfs)
- 树型结构的四种建模方法
- ubuntun11.10 下安装gedit的Source Code Browser插件
- radio button 的用法
- freeglut-2.8.0在VS2008下编译配置
- Unicode时RegSetValueEx注意事项
- 中国Internet九大骨干网
- P2P之UDP穿透NAT的原理与实现(附源代码)
- TubinePro.exe 中的 0x7c812a5b 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012dfa4 处的 _com_error。
- 算法——二叉树相关
- 怎样提高java程序的性能
- VM-linux中增加一块硬盘
- 递归函数调用递归函数
- [技巧]如何让Opera 在浏览淘宝时调用阿里旺旺聊天