⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vxdhelper.cpp

📁 Programming the Microsoft Windows driver model.2nd 随书光盘。内有很多作者送的实用工具和随书源码。WDM编程
💻 CPP
字号:
// VxdHelper.cpp -- Implementation of CVxdHelper class

// Copyright (C) 1999 by Walter Oney

// All rights reserved



#include "stdafx.h"

#include "VxdHelper.h"



///////////////////////////////////////////////////////////////////////////////



CVxdHelper::CVxdHelper()

	{							// CVxdHelper::CVxdHelper

	m_hdriver = INVALID_HANDLE_VALUE;

	}							// CVxdHelper::CVxdHelper



CVxdHelper::~CVxdHelper()

	{							// CVxdHelper::~CVxdHelper

	if (m_hdriver != INVALID_HANDLE_VALUE)

		{						// close handle to driver

		CloseHandle(m_hdriver);

		m_hdriver = INVALID_HANDLE_VALUE;

		}						// close handle to driver

	}							// CVxdHelper::~CVxdHelper



///////////////////////////////////////////////////////////////////////////////



BOOL CVxdHelper::Initialize(LPCTSTR name)

	{							// CVxdHelper::Initialize

	TCHAR devname[_MAX_PATH];

	_tcscpy(devname, _T("\\\\.\\"));

	_tcscat(devname, name);



	m_hdriver = CreateFile(devname, GENERIC_READ | GENERIC_WRITE, 0,

		NULL, OPEN_EXISTING, 0, NULL);



	if (m_hdriver == INVALID_HANDLE_VALUE)

		{						// try to dynamically load VxD

		_tcscat(devname, _T(".vxd"));

		m_hdriver = CreateFile(devname, 0, 0, NULL, 0, FILE_FLAG_DELETE_ON_CLOSE, NULL);

		}						// try to dynamically load VxD



	if (m_hdriver == INVALID_HANDLE_VALUE)

		return FALSE;



	return TRUE;

	}							// CVxdHelper::Initialize

⌨️ 快捷键说明

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