Lib_Driver.h #include "Lib.h" // namespace System { class export Driver { private: //结构声明 typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; PVOID Buffer; } UNICODE_STRING, *PUNICODE_STRING; typedef struct _OBJECT_ATTRIBUTES { ULONG Length; HANDLE RootDirectory; PUNICODE_STRING ObjectName; ULONG Attributes; PVOID SecurityDescriptor; PVOID SecurityQualityOfService; } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; typedef struct _IO_STATUS_BLOCK { union { long Status; PVOID Pointer; } ; ULONG_PTR Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; private: //变量数据 HANDLE hDriver; HMODULE hNtDll; UNICODE_STRING uDriver, uName; OBJECT_ATTRIBUTES Obj_; IO_STATUS_BLOCK Isb_; TCHAR DriverName[MAX_REASON_NAME_LEN], DriverPath[MAX_PATH]; typedef long (_stdcall* _NtClose)(HANDLE Handle); typedef void (_stdcall* _RtlInitUnicodeString)(PUNICODE_STRING DestinationString, PCWSTR SourceString); typedef void (_stdcall* _RtlFreeUnicodeString)(PUNICODE_STRING UnicodeString); _NtClose NtClose; _RtlInitUnicodeString RtlInitUnicodeString; _RtlFreeUnicodeString RtlFreeUnicodeString; private: //内部函数 void InitializeObjectAttributes(POBJECT_ATTRIBUTES, PUNICODE_STRING, ULONG Attributes, HANDLE, PSECU