我正在使用vs2015和wdk10,我可以在一个空项目中使用随机。
#include <random>
std::default_random_engine eng;//works fine .
但是当我创建一个空的内核模式驱动程序项目时,我不能在其中使用随机数。
#include <random>
std::default_random_engine eng;//namespace "std" has no member "default_random_engine"
其他标准库,如vector和tuple也不起作用,都提醒我命名空间“std”没有成员XXX(vector,tuple等)
我怎么解决这个问题?
std库的实现需要工作异常处理才能使代码正常工作。这已经阻止了标准库的端口在内核中执行。
其他在内核中不起作用的代码示例是
正如评论中所提到的那样
RtlRandomEx
产生伪随机数,并在内核中可用。
对于加密安全随机性,此页面保留一些值。