driverentry.cpp

来自「一本在讲述USB驱动程式的书 及其范例原码」· C++ 代码 · 共 39 行

CPP
39
字号
// Main program for bugcheck driver
// Copyright (C) 1999, 2000 by Walter Oney
// All rights reserved

#include "stddcls.h"
#include "driver.h"

KBUGCHECK_CALLBACK_RECORD bugrecord;
ULONG bugbuffer;

VOID BugcheckCallback(PULONG buffer, ULONG bufsize);

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

#pragma PAGEDCODE

extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,
	IN PUNICODE_STRING RegistryPath)
	{							// DriverEntry

	// Register a bug-check callback routine

	KeInitializeCallbackRecord(&bugrecord);
	KeRegisterBugCheckCallback(&bugrecord, (PKBUGCHECK_CALLBACK_ROUTINE) BugcheckCallback,
		&bugbuffer, sizeof(bugbuffer), (PUCHAR) "BUGCHECK");

	// Cause a bug check

	KeBugCheckEx(0x1234, 0, 1, 2, 3);
	}							// DriverEntry

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

#pragma LOCKEDCODE

VOID BugcheckCallback(PULONG buffer, ULONG bufsize)
	{							// BugcheckCallback
	*buffer = 42;
	}							// BugcheckCallback

⌨️ 快捷键说明

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