Функция RtlConvertSidToUnicodeString (ntifs.h)
Подпрограмма RtlConvertSidToUnicodeString создает печатное строковое представление идентификатора безопасности Юникода (SID).
Синтаксис
NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
[in, out] PUNICODE_STRING UnicodeString,
[in] PSID Sid,
[in] BOOLEAN AllocateDestinationString
);
Параметры
[in, out] UnicodeString
Указатель на структуру UNICODE_STRING, содержащую созданную строку Юникода. Параметр UnicodeString->MaximumLength задан только в том случае, если AllocateDestinationStringTRUE.
[in] Sid
Указатель на структуру безопасности, которая должна быть преобразована в Юникод (структура SID не влияет).
[in] AllocateDestinationString
Логический флаг, указывающий, будет ли эта подпрограмма выделять буфер ЮникодString. Если true, выделяется только элемент > буфера ЮникодString, а остальная часть ЮникодСтринг должна быть выделена вызывающим объектом.
Возвращаемое значение
Подпрограмма RtlConvertSidToUnicodeString может возвращать одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Преобразование выполнено успешно. |
|
Возвращается, если AllocateDestinationStringFALSE, а вызывающий буфер, предоставленный ЮникодString, слишком мал, чтобы сохранить преобразованную строку Юникода. |
|
Возвращается, если AllocateDestinationString TRUE и недостаточно памяти для выделения буфера ЮникодСтринга. |
|
Указанная структура SID не является структурно допустимой. |
Замечания
Созданная строка Юникода будет принимать одну из двух форм. Если значение элемента IdentifierAuthority SID меньше или равно 2^32, элемент IdentifierAuthority будет создан как десятичный. Например, идентификатор безопасности с идентификаторомAuthority 281 736 создает:
S-1-281736-12-72-9-110
В противном случае идентификаторAuthority будет создан как шестнадцатеричный. Например, идентификатор безопасности с идентификаторомAuthority 173 495 281 736 создает:
S-1-0x28651FE848-12-72-9-110
Все остальные члены в SID будут созданы как десятичные.
Если AllocateDestinationStringTRUE, выделенный буфер должен быть освобожден с помощью RtlFreeUnicodeString.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h, FltKernel.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |