RtlGenRandom function (ntsecapi.h)

[The RtlGenRandom function is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use the CryptGenRandom function.]

The RtlGenRandom function generates a pseudo-random number.

Note  This function has no associated import library. This function is available as a resource named SystemFunction036 in Advapi32.dll. You must use the LoadLibrary and GetProcAddress functions to dynamically link to Advapi32.dll.


BOOLEAN RtlGenRandom(
  [out] PVOID RandomBuffer,
  [in]  ULONG RandomBufferLength


[out] RandomBuffer

A pointer to a buffer that receives the random number as binary data. The size of this buffer is specified by the RandomBufferLength parameter.

[in] RandomBufferLength

The length, in bytes, of the RandomBuffer buffer.

Return value

If the function succeeds, the function returns TRUE.

If the function fails, it returns FALSE.


When you have finished using the random number, free the RandomBuffer buffer by calling the SecureZeroMemory function.


Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header ntsecapi.h
DLL Advapi32.dll