3.5 字符串操作
来源:互联网 发布:中兴笔试编程题 编辑:程序博客网 时间:2024/06/03 17:42
ANSI_STRING和UNICODE_STRING操作
3.5.1 STRING、ANSI_STRING和UNICODE_STRING
STRING和ANSI_STRING是同一种数据结构,都是对ASCII字符的封装;UNICODE_STRING是对Unicode字符的封装
STRING的数据结构为:
typedef strunct _STRING{
__maybevalid USHORT Length;
__maybevaild USHORT MaximumLength;
#ifdef MIDL_PASS
[size_is(MaximumLength), length_is(Length)]
#endif // MIDL_PASS
__field_bcount_part_opt(MaximumLength, Length) PCHAR Buffer;
} STRING;
typedef STRING *PSTRING;
typedef STRING ANSI_STRING;
typedef STRING PANSI_STRING;
可见STRING和ANSI_STRING是同一种数据结构的两个名称
UNICODE_STRING的数据结构为:
typedef struct _UNICODE_STRING{
USHORT Length;
USHORT MaximumLength;
#ifdef MIDL_PASS
[size_is(MaximumLenght / 2), length_is((Length) / 2)] USHORT * Buffer;
#else // MIDL_PASS
__field_bcount_part (MaximumLength, Length) PWCH Buffer;
#endif // MIDL_PASS
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
3.5.2 初始化和销毁
1.ANSI_STRING的初始化操作函数:RtlInitAnsiString和RtlInitString
2.ANSI_STRING的销毁函数:RtlFreeAnsiString
3.UNICODE_STRING的初始化函数:RtlInitUnicodeString
4.UNICODE_STRING的销毁函数:RtlFreeUnicodeString
3.5.3 复制和添加
1.ANSI_STRING的拷贝函数:RtlCopyString
2.UNICODE_STRING的拷贝函数:RtlCopyUnicodeString
3.UNICODE_STRING的添加函数:RtlAppendUnicodeStringToString和RtlAppendUnicodeToString
3.5.4 比较
1.ANSI_STRING的比较函数:RtlEqualString和RtlCompareString
2.UNICODE_STRING的比较函数:RtlEqualUnicodeString和RtlCompareUnicodeString
3.5.5 转换
1.ANSI_STRING的转换函数:RtlAnsiStringToUnicodeString,获取转换内容需要空间RtlAnsiStringToUnicodeSize、STRING内容全转大写RtlUpperString
2.UNICODE_STRING的转换函数:RtlUnicodeStringToAnsiString,UNICODE_STRING内容全转大写RtlUpcaseUnicodeString
- 3.5 字符串操作
- 字符串操作
- 字符串操作
- 操作字符串
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- 字符串操作
- CSS实例(八):不用图片实现宽度、高度自定的圆角矩形
- APP STORE 付费验证(IAP)服务端验证全过程
- HDU1978How Many Ways 记忆化dfs+dp
- [企业开源系列]后起之秀Facebook凭什么挑战互联网霸主Google?
- [C语言]菜鸟一些理解—变量常量
- 3.5 字符串操作
- cocos2d-x for android:CCSprite 精灵动画
- XML 的 约束 :DTD 、 Schema
- 路由器和交换机的区别
- iOS应用内支付(IAP)的那些坑
- windows 7 下 MySQL 5.5 的root密码忘记了,解决办法。
- HDU1078 记忆化DFS+dp
- QTreeWidgetItem 点击可编辑修改
- Windows CE下流驱动的动态加载