Проблемы с перечислением криптопровайдеров
нашел функцию для перечисления провайдеров:
void drt()
{
DWORD cbName, dwType dwIndex;
void * pszName = NULL;
printf("Listing Available Providers:\n");
printf("Provider type\tProvider Name\n");
printf("_____________\t__________________"
"___________________\n");
dwIndex = 0;
while(CryptEnumProviders(dwIndex,NULL,0, &dwType, NULL, &cbName))
{
//-----------------------------------------------------------
if (!(pszName = LocalAlloc(LMEM_ZEROINIT, cbName+1))) {printf("ERROR — LocalAlloc failed\n"); exit(1); }
//-----------------------------------------------------------
// Get the provider name.
if (CryptEnumProviders(dwIndex++,NULL, 0, &dwType, (LPWSTR)pszName, &cbName )){ printf (" %4.0d\t%s\n",dwType, (char*)pszName); }
else {printf("ERROR — CryptEnumProviders failed.\n");exit(1); }
LocalFree(pszName);
}
printf("\nProvider types and provider names "
"have been listed.\n");
}
но на выходе
listen Available Providers^
Provider type Provider Name
---------------- --------------------------
1 A
75 C
1 G
не пойму почему вместо имен буквы.
Пока на собственное сообщение не было ответов, его можно удалить.