NTSYSAPI
NTSTATUS
NTAPI
NtQuerySystemInformation (
IN UINT SystemInformationClass, // 信息类型
OUT PVOID SystemInformation, // 缓冲指针
IN ULONG SystemInformationLength, // 缓冲的字节大小
OUT PULONG ReturnLength OPTIONAL // 写入缓冲的字节数
);
第一个参数是请求的信息类型。这个参数可以有许多值。为了得到系统启动时间,我们只用其中的一个值:SystemTimeInformation(3)。
如果,第一个参数是SystemTimeInformation,则第二个参数必须是一个SYSTEM_TIME_INFORMATION结构指针。
typedef struct
{
LARGE_INTEGER liKeBootTime;
LARGE_INTEGER liKeSystemTime;
LARGE_INTEGER liExpTimeZoneBias;
ULONG uCurrentTimeZoneId;
DWORD dwReserved;
} SYSTEM_TIME_INFORMATION;
这个结构中第一个成员是liKeBootTime就是我们所要的系统被启动的时间(以毫秒计)。
LONG status;
SYSTEM_TIME_INFORMATION Sti;
status = NtQuerySystemInformation(SystemTimeInformation,&Sti,sizeof(Sti),0);
实例代码下载
550




被折叠的 条评论
为什么被折叠?



