if(CryptAcquireContext(&hProv,nameContainer,NULL,typeProv,0))
{
CorrectContainer = (hProv);
if(CryptGetProvParam(hProv, PP_NAME, NULL, &szLength, 0))
{
sz = (char*) LocalAlloc(LMEM_FIXED,szLength);
CryptGetProvParam(hProv,PP_NAME,(BYTE*)sz,&szLength,0);
stProvInfo.pwszProvName = (wchar_t*) LocalAlloc(LMEM_FIXED,szLength * sizeof(wchar_t));
MultiByteToWideChar(CP_ACP,0,sz,-1,stProvInfo.pwszProvName,szLength);
LocalFree((HLOCAL)sz);
}
if(CryptGetProvParam(hProv,PP_UNIQUE_CONTAINER, NULL, &szLength, 0))
{
sz = (char*) LocalAlloc(LMEM_FIXED,szLength);
CryptGetProvParam(hProv,PP_UNIQUE_CONTAINER,(BYTE*)sz,&szLength,0);
stProvInfo.pwszContainerName = (wchar_t*) LocalAlloc(LMEM_FIXED,szLength * sizeof (wchar_t));
MultiByteToWideChar(CP_ACP,0,sz,-1,stProvInfo.pwszContainerName,szLength);
LocalFree((HLOCAL)sz);
}