BOOL CreateRandomNumber(PVOID lpBuffer, ULONG cbBuffer)
{
BOOL bResult;
bResult = FALSE;
if ((lpBuffer != NULL) && (cbBuffer > 0))
{
HCRYPTPROV CryptContext;
if (CryptAcquireContext(&CryptContext, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
{
bResult = CryptGenRandom(CryptContext, cbBuffer, (PBYTE)lpBuffer);
CryptReleaseContext(CryptContext, 0);
}
}
return bResult;
}