AnsiString -> LPCWSTR

Тема в разделе "LANGS.C", создана пользователем Keva, 26 июн 2007.

  1. Keva

    Keva New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    130
    Есть такая функция CertFindCertificateInStore, она предпоследним параметром принимает значение типа LPCWSTR, этот параметр должен содержать CN из сертификата. Есть строка типа AnsiString в которой и содержиться этот CN. Если в строке CN на русском то сертификат не находится, если на английском то все в порядке. В чем может быть дело?

    Код (Text):
    1. wchar_t buf[50];
    2.         AnsiString Subject="Иванов Иван Иваныч";
    3.         swprintf(buf,L"%S",Subject);
    4.         LPCWSTR qwe=buf;
    5.  
    6.         //получаем контекст сертификата        
    7.         pSignerCert = CertFindCertificateInStore(
    8.                 hStoreHandle,
    9.                 MY_ENCODING_TYPE,
    10.                 0,
    11.                 CERT_FIND_SUBJECT_STR,
    12.                 qwe,
    13.                 NULL);
    причем если переменную qwe инициализировать следующим образом:
    Код (Text):
    1. LPCWSTR qwe=L"Иванов Иван Иваныч";
    то все в порядке сертификат находится.
    Заранее благодарен.
     
  2. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    русские символы кодируются юникодом, LPCWSTR именно для этого.
     
  3. Keva

    Keva New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    130
    Ну этот кусок не работает с русскими буквами!
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Keva

    Ну попробуй WideString вместо AnsiString.
    Либо придётся переконвертить из Ansi в Unicode.
     
  5. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    а что такое AnsiString? это не билдер?
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Nouzui
    Билдер.