
Originally Posted by
Steve Grant
Ben you still need to modify the constant in the line CryptAcquireContext.
Thanks for noticing that. The new code is now:
Code:
Private Declare Function CryptAcquireContext Lib "advapi32.dll" Alias "CryptAcquireContextA" (ByRef phProv As Long, ByVal pszContainer As String, ByVal pszProvider As String, ByVal dwProvType As Long, ByVal dwFlags As Long) As Long
Private Declare Function CryptReleaseContext Lib "advapi32.dll" (ByVal hProv As Long, ByVal dwFlags As Long) As Long
Private Declare Function CryptGenRandom Lib "advapi32.dll" (ByVal hProv As Long, ByVal dwLen As Long, ByRef pbBuffer As Any) As Long
Private Const PROV_RSA_FULL As Long = 1
Private Const CRYPT_VERIFYCONTEXT As Long = &HF0000000
Public Sub GenRandom(ByVal ptrMemory As Long, ByVal lenMemory As Long)
Dim hProv As Long
CryptAcquireContext hProv, vbNullString, vbNullString, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT
CryptGenRandom hProv, lenMemory, ByVal ptrMemory
CryptReleaseContext hProv, 0
End Function