RtlUnicodeStringInitEx 函式 (ntstrsafe.h)
RtlUnicodeStringInitEx 函式會初始化UNICODE_STRING結構。
語法
NTSTRSAFEDDI RtlUnicodeStringInitEx(
[out] PUNICODE_STRING DestinationString,
[in, optional] NTSTRSAFE_PCWSTR pszSrc,
[in] DWORD dwFlags
);
參數
[out] DestinationString
選擇性。 要初始化 之UNICODE_STRING 結構的指標。 pszSrc 指標會複製到 DestinationString 參數的 UNICODE_STRING 結構中。 pszSrc 指向的字串字元數上限為 NTSTRSAFE_UNICODE_STRING_MAX_CCH。 DestinationString 可以是 NULL,但只有在 dwFlags 中設定STRSAFE_IGNORE_NULLS時。
[in, optional] pszSrc
選擇性。 Null 終止字串常數的指標。 這個字串指標將會複製到 DestinationString 參數所指向之UNICODE_STRING結構的 Buffer 成員。 此字串指標可以是 NULL。
[in] dwFlags
定義下列旗標:
STRSAFE_IGNORE_NULLS
如果設定此旗標,則來源指標可以是 NULL。 RtlUnicodeStringInitEx 會將 NULL 來源緩衝區指標視為空字串串 (TEXT (“”) ) ,可以複製。
傳回值
RtlUnicodeStringInitEx 會傳回下列其中一個 NTSTATUS 值。
傳回碼 | Description |
---|---|
|
此 成功 狀態表示源數據存在、字串複製而未截斷,且結果目的地緩衝區為 Null 終止。 |
|
這個 錯誤 狀態表示函式收到無效的輸入參數。 如需詳細資訊,請參閱下列清單。 |
當發生下列其中一項時,RtlUnicodeStringInitEx 會傳回STATUS_INVALID_PARAMETER值:
- pszSrc 參數指向的字串長度大於NTSTRSAFE_UNICODE_STRING_MAX_CCH個字元。
- DestinationString 指標為 NULL,但 pszSrc 指標不是 NULL。
備註
RtlUnicodeStringInitEx 函式會執行下列動作:
- 將 UNICODE_STRING 結構的 Length 成員設定為 pszSrc 參數所指向之字串的長度,以位元組為單位。
- 將UNICODE_STRING結構的 MaximumLength 成員設定為 pszSrc 參數指向的字串長度,以位元組為單位加上 2 個字節。
- 將 UNICODE_STRING 結構的 Buffer 成員設定為 pszSrc 參數所指定的位址。
如需安全字串函式的詳細資訊,請參閱 使用安全字串函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows XP 搭配 Service Pack 1 (SP1) 開始提供。 |
目標平台 | 桌面 |
標頭 | ntstrsafe.h (包含 Ntstrsafe.h) |
程式庫 | Ntstrsafe.lib |
IRQL | 如果正在操作的字串一律位於記憶體中,則為任何 ,否則PASSIVE_LEVEL |