首页
社区
课程
招聘
[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?
发表于: 2022-8-18 13:10 6321

[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?

2022-8-18 13:10
6321
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 284
活跃值: (487)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
1:双for循环并记录索引;2:若字串元素在母串中并且索引连续说明母串包含子串
2022-8-18 14:05
0
雪    币: 2328
活跃值: (2324)
能力值: ( LV6,RANK:89 )
在线值:
发帖
回帖
粉丝
3
 KWP SUNDAY
2022-8-18 14:56
0
雪    币: 12876
活跃值: (9342)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
4
如果你说的是UNICODE_STRING的话,只有判断prefix和suffix的,没有find
2022-8-18 16:55
0
雪    币: 407
活跃值: (2054)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5

可以自己写一个

BOOLEAN
RtlFindSubString (   
	PUNICODE_STRING Source,
	PUNICODE_STRING Search   
    )     
{   
	USHORT index = 0;
	USHORT SearchChar = 0;
	USHORT Loop = 0;

	if( ! Source || ! Search )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Source, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Search, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( Source->Length < Search->Length )
		return FALSE;

	if( Source->Length == Search->Length )
		return RtlEqualUnicodeString( Source, Search, TRUE );

	SearchChar = Search->Length >> 1;
	Loop = ( Source->Length >> 1 ) - SearchChar;

	while( index <= Loop )
	{
		if ( !_wcsnicmp( &Source->Buffer[index], Search->Buffer, SearchChar ) )
			return TRUE;

		index++;
	}
	return FALSE;   
}


2022-8-19 09:16
0
雪    币: 7711
活跃值: (4214)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
FsRtlIsNameInExpression
2022-8-23 16:19
0
雪    币: 346
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
Thead 可以自己写一个BOOLEAN RtlFindSubString&nbsp;(&nbsp;&nbsp;&nbsp; PUNICODE_STRING&nbsp ...
蓝屏了哥们
2025-6-1 23:16
0
雪    币: 32
活跃值: (554)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
jcfie 蓝屏了哥们
UNICODE_STRING DevName;
       UNICODE_STRING IsDevName;
       RtlInitUnicodeString(&DevName, L"\\Driver\\aaa0000");
       RtlInitUnicodeString(&IsDevName, L"\\Driver\\aaa*");

if (FsRtlIsNameInExpression(&IsDevName, &DevName, FALSE, NULL))
               DbgPrint(("存在\n"));
       else
               DbgPrint(("不存在\n"));
2025-6-3 09:29
0
游客
登录 | 注册 方可回帖
返回