mirror of
https://github.com/Chuyu-Team/VC-LTL5.git
synced 2026-10-18 22:00:51 +08:00
29 lines
625 B
C++
29 lines
625 B
C++
//
|
|
// rand_s.cpp
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// The implementation of the rand_s() function, which generates random numbers.
|
|
//
|
|
#include <corecrt_internal.h>
|
|
#include <stdlib.h>
|
|
|
|
|
|
#if WindowsTargetPlatformMinVersion < WindowsTargetPlatformWindows6
|
|
extern "C" errno_t __cdecl rand_s(unsigned int* const result)
|
|
{
|
|
_VALIDATE_RETURN_ERRCODE(result != nullptr, EINVAL);
|
|
*result = 0;
|
|
|
|
if (!__acrt_RtlGenRandom(result, static_cast<ULONG>(sizeof(*result))))
|
|
{
|
|
errno = ENOMEM;
|
|
return errno;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
_LCRT_DEFINE_IAT_SYMBOL(rand_s);
|
|
#endif
|