接下来,我们将告别Windows驱动开发中那种一遇到崩溃就令人胆战心惊的蓝屏恐惧,转而迈向普通应用程序开发的愉快旅程(即便报错,也不过是程序闪退而已)。现在,让我们开始初始化驱动对接程序,开启新的篇章。
driverInit.h:
#pragma once
#include <iostream>
#include <Windows.h>
extern HANDLE hDevice;
std::string read_kernel_service(int length);
void write_kernel_service(std::string message, int length);
说实话看到iostream时不经令我雀跃万分,蓝屏的崩溃挺6的(绝对不推荐添加劫持蓝屏指令,否则设备什么适合坏了都不好说)
dirverInit.cpp
#include "driverInit.h"
std::string read_kernel_service(int length) {
char buffer[255] = { 0 };
ULONG len;
ReadFile(hDevice, buffer, length, &len, 0);
return std::string(buffer);
}
void write_kernel_service(std::string message, int length) {
char buffer[255] = { 0 };
memcpy(buffer, message.c_str(), length);
ULONG len;
WriteFile(hDevice, buffer, length, &len, 0);
}
程序很简单,按照自己需求改