test.cpp

来自「灰狐驱动学习笔记系列 参考 windows驱动开发详解和 楚狂人windows驱」· C++ 代码 · 共 42 行

CPP
42
字号
#include "windows.h"
#include "winioctl.h"
#include "stdio.h"

#define MY_DVC_IN_CODE \
			(ULONG)CTL_CODE( FILE_DEVICE_UNKNOWN, 0x900, METHOD_BUFFERED, FILE_ALL_ACCESS)

int main()
{
	char	szInBuffer[20] = {0};
	ULONG	nLen = 0;

	// 打开设备句柄
	HANDLE hDevice = ::CreateFile("\\\\.\\Test",					// 符号链接
								  GENERIC_READ | GENERIC_WRITE,
								  0,
								  NULL,
								  OPEN_EXISTING,
								  FILE_ATTRIBUTE_NORMAL,
								  NULL);

	if (hDevice == INVALID_HANDLE_VALUE)
	{
		printf("Try to Open Device %s Error : %d!\n", "\\\\.\\Test", ::GetLastError());
		return -1;
	}

	memset(szInBuffer, 'A', sizeof(szInBuffer));
	::DeviceIoControl(hDevice,
					  MY_DVC_IN_CODE,
					  &szInBuffer,
					  sizeof(szInBuffer),
					  NULL,
					  0,
					  &nLen,
					  NULL);


	CloseHandle(hDevice);
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?