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

📄 driverentry.cpp

📁 programming windows driver mode源代码
💻 CPP
字号:
// DriverEntry.cpp - Main program for SEHTEST sample driver
// Copyright (C) 1999 by Walter Oney
// All rights reserved

#include "stddcls.h"

#define DRIVERNAME "SEHTEST"

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

extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
	{							// DriverEntry
	KdPrint((DRIVERNAME " - Entering DriverEntry\n"));

	PVOID p = (PVOID) 1;

	__try
		{
		KdPrint((DRIVERNAME " - About to generate exception\n"));
		ProbeForWrite(p, 4, 4);
		KdPrint((DRIVERNAME " - You shouldn't see this message\n"));
		}
	__except(EXCEPTION_EXECUTE_HANDLER)
		{
		KdPrint((DRIVERNAME " - Exception was caught\n"));
		}

	KdPrint((DRIVERNAME " - Program kept control after exception\n"));

	__try
		{
		return STATUS_UNSUCCESSFUL;
		}
	__finally
		{
		KdPrint((DRIVERNAME " - Failing DriverEntry; cleanup handler got control first\n"));
		}

	KdPrint((DRIVERNAME " - You shouldn't see this message\n"));

	return STATUS_SUCCESS;		// never reached
	}							// DriverEntry

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

#if DBG && defined(_X86_)
#pragma LOCKEDCODE

extern "C" void __declspec(naked) __cdecl _chkesp()
	{
	_asm je okay
	ASSERT(!DRIVERNAME " - Stack pointer mismatch!");
okay:
	_asm ret
	}

#endif // DBG

⌨️ 快捷键说明

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