CryptEnumProviders之pcbProvName参数

BOOL WINAPI CryptEnumProviders(
DWORD dwIndex,     
DWORD *pdwReserved,
DWORD dwFlags,
DWORD *pdwProvType,
LPTSTR pszProvName,     //指向接收CSP 名称的缓冲区字符串指针。此指针可为NULL,用来得到字符串的大小。
DWORD *pcbProvName   //[in/out]指出pszProvName 字符串的大小。

);



pcbProvName   参数

作为输入,表示pszProvName缓冲区的大小。如果给予的缓冲区大小小于得到的CSP名称的长度,函数会返回0结束。如果循环得到机器内部的CSP的话,每次送入此参数需要变更值。

作为输出,表示最终得到的CSP名称的长度


还有dwIndex不会自动往后加。


eg。

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <WinCrypt.h>
int TestCSP()
{

DWORD dwIndex = 0;
DWORD dwType;
DWORD cbNameLen;
LPWSTR  pszName;
DWORD i = 0;


//查看机器中所有的CSP
pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, 256);


cbNameLen = 256;
while(CryptEnumProviders(dwIndex++, NULL, 0,&dwType, pszName, &cbNameLen))
{
wprintf(L" %4.0d\tlen=%d\t%s\n", dwType,cbNameLen, pszName);
cbNameLen = 256;  //这里要加这个


}
LocalFree(pszName);
return 0;

}






void main()
{
TestCSP();
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值