Atom Лента - Форум КриптоПро - Тема:CertEnumSystemStore и кодировка имени хранилища - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:CertEnumSystemStoreikodirovkaimenikhranilishcha-10:1Copyright 2024 Форум КриптоПро2024-03-29T13:26:07Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.runesdmitrijjhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57609&name=nesdmitrijjnesdmitrijjhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57609&name=nesdmitrijjМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинnesdmitrijjhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57609&name=nesdmitrijjYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid125530:1CertEnumSystemStore и кодировка имени хранилища<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо. Заложился на проверку наличия CertEnumPhysicalStore</td></tr></table>2021-06-16T12:03:10+03:002021-06-16T12:03:10+03:00nesdmitrijj<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо. Заложился на проверку наличия CertEnumPhysicalStore</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125509:1CertEnumSystemStore и кодировка имени хранилища<table class="content postContainer" width="100%"><tr><td>Добрый день.<br />Спасибо за ваше замечание, верно, в апреле 2020 года мы привели эту функцию в соответствие с документацией Microsoft и теперь она принимает wchar_t строки. <br />Способа автоматически сохранить обратную совместимость не смогли найти, поэтому можем порекомендовать вызвать эту фукцию повторно, интерпретируя как wchar_t *, если при первом вызове все ANSI-имена хранилищ окажутся однобуквенным.<br />Или можно заложиться на то, что вместе с переводом CertEnumSystemStore в Unicode в capilite появился символ CertEnumPhysicalStore.</td></tr></table>2021-06-15T17:15:02+03:002021-06-15T17:15:02+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Добрый день.<br />Спасибо за ваше замечание, верно, в апреле 2020 года мы привели эту функцию в соответствие с документацией Microsoft и теперь она принимает wchar_t строки. <br />Способа автоматически сохранить обратную совместимость не смогли найти, поэтому можем порекомендовать вызвать эту фукцию повторно, интерпретируя как wchar_t *, если при первом вызове все ANSI-имена хранилищ окажутся однобуквенным.<br />Или можно заложиться на то, что вместе с переводом CertEnumSystemStore в Unicode в capilite появился символ CertEnumPhysicalStore.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid125382:1CertEnumSystemStore и кодировка имени хранилища<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br />При вызове CertEnumSystemStore во время перечисления значений вызывается callback функция PFN_CERT_ENUM_SYSTEM_STORE. <br />В эту функцию в первом параметре передается указатель на строку с именем хранилища.<br /><br />По началу я думал там будет AnsiString (каждый символ названия занимает 1 байт).<br />Но практика показала, что в одном случае символ = 1 байт, в другом случае символ = 4 байт.<br />в обоих случаях использовалась Ubuntu 18.04.<br /><br />Как корректно определить размер (или кодировку) строки на которую передан указатель?</td></tr></table>2021-06-09T14:37:26+03:002021-06-09T14:37:26+03:00nesdmitrijj<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br />При вызове CertEnumSystemStore во время перечисления значений вызывается callback функция PFN_CERT_ENUM_SYSTEM_STORE. <br />В эту функцию в первом параметре передается указатель на строку с именем хранилища.<br /><br />По началу я думал там будет AnsiString (каждый символ названия занимает 1 байт).<br />Но практика показала, что в одном случае символ = 1 байт, в другом случае символ = 4 байт.<br />в обоих случаях использовалась Ubuntu 18.04.<br /><br />Как корректно определить размер (или кодировку) строки на которую передан указатель?</td></tr></table>