powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FormatMessage и !S!
7 сообщений из 7, страница 1 из 1
FormatMessage и !S!
    #40028495
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто знает, как Windows.FormatMessage должна обработать заглавную S в шаблоне форматирования?
( Есть ли какие изменения в новых версия? )

Например: "Имя процесса:%t%2!S!%n%t"
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028502
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bred eFeM
Кто знает, как Windows.FormatMessage должна обработать заглавную S в шаблоне форматирования?
Никак Any other nondigit character following a percent character is formatted in the output message without the percent character.
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028505
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
following a percent , а интересует %n!format string! = %n!S!
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028512
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Bred eFeM
Кто знает, как Windows.FormatMessage должна обработать заглавную S в шаблоне форматирования?
Никак Any other nondigit character following a percent character is formatted in the output message without the percent character.

Чуть глубже есть про S
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028518
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius, чуть глубже есть про S

да:
Код: pascal
1.
2.
3.
4.
5.
s String	When used with printf functions, specifies a  single-byte or multi-byte  character string; 
                when used with wprintf functions, specifies a wide-character string. Characters are displayed up to the first null character or until the precision value is reached.

S String	When used with printf functions, specifies a wide-character string;  
                when used with wprintf functions, specifies a  single-byte or multi-byte  character string. Characters are displayed up to the first null character or until the precision value is reached.



И в таком случае:

Код: pascal
1.
2.
A) для FormatMessageA (printf)   'S' => multi-byte  character string; // A => W
W) для FormatMessageW (wprintf)  'S' => single-byte character string; // W => A


правильно я понял?
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028839
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
Чуть глубже есть про S
А ничего, что это описываются параметры совершенно другой функции?
...
Рейтинг: 0 / 0
FormatMessage и !S!
    #40028978
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, не совершенно, но другой. Там дальше она туда и приходит.

Почему возник вопрос:
в Windows 10 20H2, как закладку или заплатку или хз, добавили !S! к некоторым параметрам в строке формирования описания события безопасности 4688
adtschema.dll
(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Microsoft-Windows-Security-Auditing\EventMessageFile)

adtschema.dll
0x1250:
"A new process has been created.%n%nCreator Subject:%n%tSecurity ID:%t%t%1%n%tAccount Name:%t%t%2%n%tAccount Domain:%t%t%3%n%tLogon ID:%t%t%4%n%nTarget Subject:%n%tSecurity ID:%t%t%10%n%tAccount Name:%t%t%11%n%tAccount Domain:%t%t%12%n%tLogon ID:%t%t%13%n%nProcess Information:%n%tNew Process ID:%t%t%5%n%tNew Process Name:%t%6!S!%n%tToken Elevation Type:%t%7%n%tMandatory Label:%t%t%15%n%tCreator Process ID:%t%8%n%tCreator Process Name:%t%14!S!%n%tProcess Command Line:%t%9!S!%n%nToken Elevation Type indicates the type of token that was assigned to the new process in accordance with User Account Control policy.%n%nType 1 is a full token with no privileges removed or groups disabled. A full token is only used if User Account Control is disabled or if the user is the built-in Administrator account or a service account.%n%nType 2 is an elevated token with no privileges removed or groups disabled. An elevated token is used when User Account Control is enabled and the user chooses to start the program using Run as administrator. An elevated token is also used when an application is configured to always require administrative privilege or to always require maximum privilege, and the user is a member of the Administrators group.%n%nType 3 is a limited token with administrative privileges removed and administrative groups disabled. The limited token is used when User Account Control is enabled, the application does not require administrative privilege, and the user does not choose to start the program using Run as administrator.\r\n"

adtschema.dll mui
0x1250:
"Создан новый процесс.%n%nСубъект-создатель:%n%tИД безопасности:%t%t%1%n%tИмя учетной записи:%t%t%2%n%tДомен учетной записи:%t%t%3%n%tИД входа:%t%t%4%n%nЦелевой субъект:%n%tИД безопасности:%t%t%10%n%tИмя учетной записи:%t%t%11%n%tДомен учетной записи:%t%t%12%n%tИД входа:%t%t%13%n%nСведения о процессе:%n%tИД нового процесса:%t%t%5%n%tИмя нового процесса:%t%6!S!%n%tТип повышения прав маркера:%t%7%n%tОбязательная метка:%t%t%15%n%tИД процесса-создателя:%t%8%n%tИмя процесса-создателя:%t%14!S!%n%tКомандная строка процесса:%t%9!S!%n%nВ поле \"Тип повышения прав маркера\" указан тип маркера, назначенного новому процессу в соответствии с политикой управления учетными записями.%n%nТип 1 соответствует полному маркеру без удаления привилегий и отключения групп. Полный маркер используется, только если управление учетными записями отключено либо пользователь имеет встроенную учетную запись \"Администратор\" или учетную запись службы.%n%nТип 2 соответствует расширенному маркеру без удаления привилегий и отключения групп. Расширенный маркер используется, если управление учетными записями включено и пользователь запускает программу в качестве администратора. Кроме того, он применяется, если приложение настроено таким образом, что всегда требует привилегии администратора или максимальные привилегии, а пользователь состоит в группе администраторов.%n%nТип 3 соответствует ограниченному маркеру с удалением привилегий администратора и отключением групп администраторов. Ограниченный маркер используется, когда управление учетными записями включено, приложению не требуются привилегии администратора и пользователь не запускает программу в качестве администратора.\r\n"

(... %6!S! , %14!S! , %9!S! ...)
Из-за чего в значения этих параметров только первый символ.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FormatMessage и !S!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]