Re: Проблемы с перечислением криптопровайдеров
От: alexsandr-ter  
Дата: 15.08.11 13:39
Оценка:
Здравствуйте, alexsandr-ter, Вы писали:

AT>нашел функцию для перечисления провайдеров:

AT>void drt()
AT>{

AT> DWORD cbName, dwType dwIndex;

AT> void * pszName = NULL;

AT> printf("Listing Available Providers:\n");

AT> printf("Provider type\tProvider Name\n");
AT> printf("_____________\t__________________"
AT> "___________________\n");

AT> dwIndex = 0;

AT> while(CryptEnumProviders(dwIndex,NULL,0, &dwType, NULL, &cbName))
AT> {
AT> //-----------------------------------------------------------
AT> if (!(pszName = LocalAlloc(LMEM_ZEROINIT, cbName+1))) {printf("ERROR — LocalAlloc failed\n"); exit(1); }
AT> //-----------------------------------------------------------
AT> // Get the provider name.
AT> if (CryptEnumProviders(dwIndex++,NULL, 0, &dwType, (LPWSTR)pszName, &cbName )){ printf (" %4.0d\t%s\n",dwType, (char*)pszName); }
AT> else {printf("ERROR — CryptEnumProviders failed.\n");exit(1); }
AT> LocalFree(pszName);
AT> }
AT> printf("\nProvider types and provider names "
AT> "have been listed.\n");
AT>}
AT>но на выходе
AT>listen Available Providers^
AT>Provider type Provider Name
AT>---------------- --------------------------
AT> 1 A
AT> 75 C
AT> 1 G

AT>не пойму почему вместо имен буквы.


Все решил! Проблема была с типами строк
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.