Freigeben über


RtlConvertSidToUnicodeString-Funktion (ntifs.h)

Die RtlConvertSidToUnicodeString Routine generiert eine druckbare Unicode-Zeichenfolgendarstellung eines Sicherheitsbezeichners (SID).

Syntax

NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
  [in, out] PUNICODE_STRING UnicodeString,
  [in]      PSID            Sid,
  [in]      BOOLEAN         AllocateDestinationString
);

Parameter

[in, out] UnicodeString

Ein Zeiger auf eine UNICODE_STRING Struktur, die die generierte Unicode-Zeichenfolge enthält. Das UnicodeString->MaximumLength Member wird nur festgelegt, wenn AllocateDestinationStringTRUEist.

[in] Sid

Ein Zeiger auf die SID-Struktur, die in Unicode konvertiert werden soll (die SID-Struktur ist nicht betroffen).

[in] AllocateDestinationString

Ein boolesches Flag, das angibt, ob diese Routine den UnicodeString-Puffer zuweist. Wenn TRUE-, muss vom Aufrufer nur das UnicodeString->Buffer--Element zugewiesen werden, und der Rest der UnicodeString--Struktur muss vom Aufrufer zugewiesen werden.

Rückgabewert

Die RtlConvertSidToUnicodeString Routine kann einen der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Konvertierung war erfolgreich.
STATUS_BUFFER_OVERFLOW
Dies wird zurückgegeben, wenn "AllocateDestinationString"-FALSE- ist und der vom Aufrufer bereitgestellte UnicodeString- Puffer zu klein ist, um die konvertierte Unicode-Zeichenfolge aufzunehmen.
STATUS_NO_MEMORY
Dies wird zurückgegeben, wenn AllocateDestinationString-TRUE- ist und nicht genügend Arbeitsspeicher vorhanden ist, um den UnicodeString- Puffer zuzuweisen.
STATUS_INVALID_SID
Die angegebene SID- Struktur ist nicht strukturell gültig.

Bemerkungen

Die generierte Unicode-Zeichenfolge verwendet eine von zwei Formen. Wenn der Wert des IdentifierAuthority-Members der SID- kleiner oder gleich 2^32 ist, wird der IdentifierAuthority-Member als Dezimalwert generiert. Eine SID- beispielsweise mit einer IdAuthority von 281.736 generiert:

 S-1-281736-12-72-9-110

Andernfalls wird die IdentifierAuthority als hexadezimal generiert. Beispielsweise generiert eine SID- mit einer IdAuthority von 173.495.281.736:

 S-1-0x28651FE848-12-72-9-110

Alle anderen Elemente in der SID- werden als Dezimalstellen generiert.

Wenn AllocateDestinationStringTRUEist, muss der zugeordnete Puffer mithilfe RtlFreeUnicodeString-zugeordnet werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h, FltKernel.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

RtlFreeUnicodeString-

SID-

UNICODE_STRING