(ntifs.h) RtlConvertSidToUnicodeString 函式
RtlConvertSidToUnicodeString 例程會產生安全標識符的可列印 Unicode 字串表示法, (SID) 。
語法
NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
[in, out] PUNICODE_STRING UnicodeString,
[in] PSID Sid,
[in] BOOLEAN AllocateDestinationString
);
參數
[in, out] UnicodeString
要包含所產生 Unicode 字串 之UNICODE_STRING 結構的指標。 只有在 AllocateDestinationString 為 TRUE 時,才會設定 UnicodeString-MaximumLength> 成員。
[in] Sid
SID 結構的指標,要轉換成 Unicode (SID 結構不會受到影響) 。
[in] AllocateDestinationString
布爾值旗標,指出這個例程是否會配置 UnicodeString 緩衝區。 如果為 TRUE,則只會配置 UnicodeString-Buffer> 成員,而且呼叫端必須配置其餘的 UnicodeString 結構。
傳回值
RtlConvertSidToUnicodeString 例程可以傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
轉換成功。 |
|
如果 AllocateDestinationString 為 FALSE ,而且提供的 UnicodeString 緩衝區太小,無法保存轉換的 Unicode 字串,就會傳回這個值。 |
|
如果 AllocateDestinationString 為 TRUE ,而且記憶體不足,無法配置 UnicodeString 緩衝區,就會傳回這個值。 |
|
指定的 SID 結構在結構上無效。 |
備註
產生的 Unicode 字串會採用兩種形式之一。 如果 SID 的 IdentifierAuthority 成員值小於或等於 2^32,則 IdentifierAuthority 成員將產生為十進制。 例如,標識碼驗證為 281,736 的 SID 會產生:
S-1-281736-12-72-9-110
否則,IdentifierAuthority 將產生為十六進位。 例如,標識碼驗證為 173,495,281,736 的 SID 會產生:
S-1-0x28651FE848-12-72-9-110
SID 中的所有其他成員都會產生為十進位。
如果 AllocateDestinationString 為 TRUE,則必須使用 RtlFreeUnicodeString 解除配置已配置的緩衝區。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包括 Ntifs.h、FltKernel.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |