(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 結構的指標。 只有在 AllocateDestinationStringTRUE 時,才會設定 UnicodeString-MaximumLength> 成員。

[in] Sid

SID 結構的指標,要轉換成 Unicode (SID 結構不會受到影響) 。

[in] AllocateDestinationString

布爾值旗標,指出這個例程是否會配置 UnicodeString 緩衝區。 如果為 TRUE,則只會配置 UnicodeString-Buffer> 成員,而且呼叫端必須配置其餘的 UnicodeString 結構。

傳回值

RtlConvertSidToUnicodeString 例程可以傳回下列其中一個值:

傳回碼 Description
STATUS_SUCCESS
轉換成功。
STATUS_BUFFER_OVERFLOW
如果 AllocateDestinationStringFALSE ,而且提供的 UnicodeString 緩衝區太小,無法保存轉換的 Unicode 字串,就會傳回這個值。
STATUS_NO_MEMORY
如果 AllocateDestinationStringTRUE ,而且記憶體不足,無法配置 UnicodeString 緩衝區,就會傳回這個值。
STATUS_INVALID_SID
指定的 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 中的所有其他成員都會產生為十進位。

如果 AllocateDestinationStringTRUE,則必須使用 RtlFreeUnicodeString 解除配置已配置的緩衝區。

規格需求

需求
最低支援的用戶端 Windows 2000
目標平台 Universal
標頭 ntifs.h (包括 Ntifs.h、FltKernel.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

RtlFreeUnicodeString

SID

UNICODE_STRING