Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <iostream>
- int main()
- {
- DWORD dwIndex = 0;
- DWORD dwType;
- DWORD cbName;
- LPTSTR pszName;
- while (CryptEnumProviders(dwIndex, NULL, 0, &dwType, NULL, &cbName))
- {
- if (!cbName)
- break;
- if (!(pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, cbName)))
- {
- std::cerr << "Error in LocalAlloc";
- return -2;
- }
- if (!CryptEnumProviders(dwIndex++, NULL, 0, &dwType, pszName, &cbName))
- {
- std::cerr << "Error : CryptEnumProviders";
- return -1;
- }
- std::cout << "--------------------------------" << std::endl;
- std::cout << "Provider name: " << pszName << std::endl;
- std::cout << "Provider type: " << dwType << std::endl;
- LocalFree(pszName);
- }
- dwIndex = 0;
- dwType = 0;
- cbName = 0;
- pszName = NULL;
- while (CryptEnumProviderTypes(dwIndex, NULL, 0, &dwType, NULL, &cbName))
- {
- if (!cbName)
- break;
- if (!(pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, cbName)))
- return -3;
- if (!CryptEnumProviderTypes(dwIndex++, NULL, NULL, &dwType, pszName, &cbName))
- {
- std::cerr<<"CryptEnumProvidersTypes";
- return -4;
- }
- std::cout << "--------------------------------" << std::endl;
- std::cout << "Type name: " << pszName << std::endl;
- std::cout << "Type ID: " << dwType << std::endl;
- LocalFree(pszName);
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment