如何include ntddk.h

类别:编程语言 点击:0 评论:0 推荐:
从安全焦点看到的。

作者:ilsy
ntddk.h如果直接include进来会有问题的,应该这样做:

namespace NT {
    extern "C" {

#pragma warning(disable: 4005)  // macro redefinition
#pragma warning(disable: 4201)  // nonstandard extension
#include <ddk/ntddk.h>  // wre
#include <tdikrnl.h>
#pragma warning(default: 4005)
#pragma warning(default: 4201)

NTSYSAPI
NTSTATUS
NTAPI
ZwQuerySystemInformation(
    IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
    OUT PVOID SystemInformation,
    IN ULONG SystemInformationLength,
    OUT PULONG ReturnLength OPTIONAL
    );

下面是一些函数原型和其他定义

    }
}
using NT::NTSTATUS;

以后引用里面定义的函数可以这样使用:

NT::ZwQuerySystemInformation()

这样就可以include进ntddk.h了,

或者把呢所有需要的定义自己定义一个.h文件不用ntddk.h。

本文地址:http://com.8s8s.com/it/it25264.htm