内核编程-获取一个随机数

很快就申请通过了,很好,以后就在这里写写我的读书笔记。

看看代码是不是也可以贴的很漂亮。

// 获取一个随机数
CSHORT FK_Core_GetRandNum(
	IN VOID)
{
	static CHAR  szTime[128];
	LARGE_INTEGER SystemTime;
	LARGE_INTEGER LocalTime;
	TIME_FIELDS  timeFiled;
	KeQuerySystemTime(&SystemTime);
	ExSystemTimeToLocalTime(&SystemTime, &LocalTime);
	RtlTimeToTimeFields(&LocalTime, &timeFiled);
	return timeFiled.Milliseconds;
}

  

时间: 2024-11-03 09:43:12

内核编程-获取一个随机数的相关文章

从Linux内核中获取真随机数【转】

转自:http://www.cnblogs.com/bigship/archive/2010/04/04/1704228.html 内核随机数产生器 Linux内核实现了一个随机数产生器,从理论上说这个随机数产生器产生的是真随机数.与标准C库中的rand(),srand()产生的伪随机数不同,尽管伪随机数带有一定的随机特征,但这些数字序列并非统计意义上的随机数.也就是说它们是可重现的--只要每次使用相同的seed值,就能得到相同的伪随机数列.通常通过使用time()的返回值来改变seed,以此得

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似. 不知有没有更好的方法-- package com.xjj.util; import java.util.List; import java.util.Map; import java.util.Set; impo

获取任意两个数之间的一个随机数的方法;

<script type="text/javascript"> /* * getRandom(n,m);  获取n-m之间的一个随机数: by 叶子  2015-06-04: *@parms{ n:获取范围的开始值:number    m:获取范围的结束值:number } *@return{    最后取得的随机数   number;   } */ function getRandom(n,m){ var target = Math.round(Math.random()

c语言代码编程题汇总: 求出一个随机数的阶乘,采用for循环实现

  求出一个随机数的阶乘,采用for循环实现 采用随机数的算法,程序更加灵活,程序代码如下: 1 /* 2 2017年3月5日10:10:46 3 功能:求出一个随机数的阶乘,采用for循环实现 4 */ 5 6 #include "stdio.h" 7 int main (void) 8 { 9 int i, n; 10 int m = 1; 11 12 printf ("请输入所求n的数值: "); 13 scanf ("%d",&n

C++windows内核编程笔记day09_day10,对话框和窗口基本控件等的使用

//设置字体颜色 SetTextColor(hdc,RGB(255,0,0)); //窗口背景 //wce.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); //wce.hbrBackground=CreateSolidBrush(RGB(0,0,255)); //设置字体背景 SetBkColor(hdc,RGB(0,0,200)); //设置字体背景模式 SetBkMode(hdc,TRANSPARENT);//字体背景透明 //创建字体,成功返回字体,失败返回

寒江独钓Windows内核编程——串口过滤

一.过滤的概念: 过滤是在不影响上层和下层接口的情况下,在Windows系统内核中加入新的层,从而不需要修改上层的软件或者下层的真是驱动程序,就加入了新的功能. 1.1 设备绑定的内核API 进行过滤的最主要的方法是对一个设备对象(Device Object)进行绑定.通过编程可以生成一个虚拟设备对象,并“绑定”(Attach)在一个真实的设备上.一旦绑定,则本来操作系统发送给真实设备的请求,就会首先发送到这个虚拟设备. 在WDK中,有多个内核API能实现绑定的功能.以下三个绑定API是从WDK

java编程的一个猜数字有趣小游戏

import javax.swing.Icon; import javax.swing.JOptionPane; public class ai { /** * @param args */ public static void main(String[] args) { Icon icon = null; boolean bl = false; int put = 0; int c = (int) (((Math.random())*100)+1); //获取一个1-100的随机数 Syste

C++windows内核编程笔记day11 win32静态库和动态库的使用

windows库程序: 静态库: 源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB 动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL 静态库(C语言): 创建时,选择文本类型文件,输入Clib.c,设置输出路径 ../lib/Clib.lib int Clib_add(int a,int b) { return a+b; } 同一上工作区,建立控制台程序(.c文件)调用静态库: #include<STDIO.H> #pragma com

C++windows内核编程笔记day13 进程、线程与信号量

Windows进程 进程是一个容器,包含程序执行需要的代码.数据.资源等信息, windows进程的特点: 每个进程都有自己的ID号 每个进程都有自己的地址空间,进程之间无法访问对方的地址空间. 每个进程都有自己的安全属性 每个进程至少包含一个线程. 获取和释放环境信息 GetEnvironmentStrings FreeEnvironmentStrings 获取或设置 本程序的环境变量 GetEnvironmentVariable SetEnvironmentVariable 示例: char