RtlUnicodeStringInit function

RtlUnicodeStringInit function

RtlUnicodeStringInit 函数初始化一个 UNICODE_STRING 结构.

Syntax

 

NTSTATUS RtlUnicodeStringInit(
  _Out_    PUNICODE_STRING  DestinationString,
  _In_opt_ NTSTRSAFE_PCWSTR pszSrc
);
 

Parameters

DestinationString [out]

指向需要初始化的UNICODE_STRING 结构的指针。

 pszSrc指针拷贝到目的字符串参数UNICODE_STRING 结构体中pszSrc 指向的字符串允许的最大字符数为NTSTRSAFE_UNICODE_STRING_MAX_CCH.

pszSrc [in, optional]

可选的参数,一个指向null-terminated 字符串常量, 字符串指针将被拷贝到DestinationString 参数指向的UNICODE_STRING结构体中的Buffer 成员。此参数可以为 NULL.

Return value

RtlUnicodeStringInit 返回以下 NTSTATUS 中的一个。

Return code

Description

STATUS_SUCCESS

这个‘成功’状态意味着源数据存在,字符已经没有截断地拷贝,因此目标缓冲区是以null结尾

STATUS_INVALID_PARAMETER

这个‘错误’状态意味着函数接收到了错误的参数,更多信息见以下列表。

 

当以下情况之一发生时,RtlUnicodeStringInit 返回 STATUS_INVALID_PARAMETER:

· pszSrc参数指向的字符串长度超过了NTSTRSAFE_UNICODE_STRING_MAX_CCH 

· DestinationString 为 NULL, 但pszSrc 不是 NULL.

获取更多关于如何测试NTSTATUS 的值的信息, see Using NTSTATUS Values.

Remarks

RtlUnicodeStringInit 做以下事情:

· 

以字节为单位,设置DestinationString参数指向的UNICODE_STRING 结构体的 Length 成员为pszSrc指向的字符串的长度。

· 

以字节为单位,设置 UNICODE_STRING MaximumLength 值为pszSrc长度加上2.

· 

设置UNICODE_STRINGBuffer pszSrc的地址。

 

DestinationString 指针不应为0,如果你需要指定NULL给DestinationString 参数,使用RtlUnicodeStringInitEx 函数。

更多关于安全字符串函数的信息见 Using Safe String Functions.

Requirements

Target platform

Desktop

Version

Available starting with Windows XP with Service Pack 1 (SP1).

Header

Ntstrsafe.h (include Ntstrsafe.h)

Library

Ntstrsafe.lib

IRQL

PASSIVE_LEVEL

See also

RtlUnicodeStringInitEx

UNICODE_STRING

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值