RtlUnicodeStringValidateEx 函式 (ntstrsafe.h)

RtlUnicodeStringValidateEx 函式會驗證UNICODE_STRING結構的內容。

語法

NTSTRSAFEDDI RtlUnicodeStringValidateEx(
  [in] PCUNICODE_STRING SourceString,
  [in] DWORD            dwFlags
);

參數

[in] SourceString

選擇性。 要驗證 之UNICODE_STRING 結構的指標。 此指標可以是 NULL,但只有在 dwFlags 中設定STRSAFE_IGNORE_NULLS時。

[in] dwFlags

定義下列旗標:

STRSAFE_IGNORE_NULLS

如果設定此旗標,則來源指標可以是 NULLRtlUnicodeStringValidateEx 會將 NULL 來源緩衝區指標視為 字串 (TEXT (“”“) ) 。

傳回值

RtlUnicodeStringValidateEx 會傳回下列其中一個 NTSTATUS 值。

傳回碼 Description
STATUS_SUCCESS
成功 狀態表示函式已順利完成。
STATUS_INVALID_PARAMETER
這個 錯誤 狀態表示函式收到無效的輸入參數。 如需詳細資訊,請參閱下列清單。
 

如果未在 dwFlags 中設定STRSAFE_IGNORE_NULLS,當發生下列其中一項時, RtlUnicodeStringValidateEx 會傳回STATUS_INVALID_PARAMETER值:

  • SourceString->長度 % sizeof (WCHAR) 不等於零。
  • SourceString->MaximumLength % sizeof (WCHAR) 不等於零。
  • SourceString->長度 大於 SourceString->MaximumLength
  • SourceString->MaximumLength 大於 NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof (WCHAR) 。
  • SourceString->緩衝區 等於 NULL ,但 SourceString->Length 或 SourceString->MaximumLength 不等於零。
  • 為 dwFlags 指定了無效的旗標。
如需如何測試 NTSTATUS 值的詳細資訊,請參閱 使用NTSTATUS值

備註

除非已設定 STRSAFE_IGNORE_NULLS 旗標, 否則 SourceString 指標不可為 NULL

如需安全字串函式的詳細資訊,請參閱 使用安全字串函式

規格需求

需求
最低支援的用戶端 在 Windows XP 中使用 Service Pack 1 (SP1) 和更新版本的 Windows。
目標平台 桌面
標頭 ntstrsafe.h (包含 Ntstrsafe.h)
程式庫 Ntstrsafe.lib
IRQL 如果正在操作的字串一律位於記憶體中,則為任何 ,否則PASSIVE_LEVEL

另請參閱

RtlUnicodeStringValidate

UNICODE_STRING