驱动程序开发实在是一件很头疼的事情,入手几天还是没什么感觉。找到一段代码,麻雀虽小五脏俱全,看了之后能对整个完整的框架有个基本的了解,很有参考价值。发这里一起分享。
#ifdef __cplusplus
extern "C"
{
#endif
#include <wdm.h>
#ifdef __cplusplus
}
#endif
typedef struct _DEVICE_EXTENSION
{
PDEVICE_OBJECT fdo;
PDEVICE_OBJECT NextStackDevice;
UNICODE_STRING ifSymLinkName;
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
NTSTATUS HelloWDMAddDevice(IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject);
NTSTATUS HelloWDMPnp(IN PDEVICE_OBJECT fdo,
IN PIRP Irp);
//主程序
//一定要的头文件,声明了函数模块和变量:
#include "HelloWDM.h"
/**************************