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

📄 whusb20init.c

📁 linux 下的驱动程序 欢迎下载
💻 C
字号:
//////////////////////////////////////////////////////////////////////////////
//文件名称:Whceb01Init.cpp
//文件功能:入口及卸载例程
//文件作者:张伟标
//工作部门:研究一室
//创建时间:2003年8月25日
//修改记录:
//版权所有:维豪信息技术有限公司
//
//Copyright 2003 WellHope Information Technology Corporation, Ltd.
//All rights reserved.
/////////////////////////////////////////////////////////////////////////////
#include "Whusb20.h"

#pragma code_seg("INIT") // start INIT section

/////////////////////////////////////////////////////////////////////////////
//	DriverEntry:
//
//	Description:
//		This function initializes the driver, and creates
//		any objects needed to process I/O requests.
//
//	Arguments:
//		Pointer to the Driver object
//		Registry path string for driver service key
//
//	Return Value:
//		This function returns STATUS_XXX


NTSTATUS DriverEntry(	IN PDRIVER_OBJECT DriverObject,
						IN PUNICODE_STRING RegistryPath)
{
	NTSTATUS status = STATUS_SUCCESS;

#ifdef DEBUG_INTERFACE
	TRACE0("Whceb01 checked");
#endif
#ifdef DEBUG_INTERFACE
	TRACE1("RegistryPath is %T",RegistryPath);
#endif//DEBUG_INTERFACE

	// Export other driver entry points...
 	DriverObject->DriverExtension->AddDevice = Whceb01AddDevice;
 	DriverObject->DriverUnload = Whceb01Unload;

	DriverObject->MajorFunction[IRP_MJ_CREATE] = Whceb01Create;
	DriverObject->MajorFunction[IRP_MJ_CLOSE] = Whceb01Close;

	DriverObject->MajorFunction[IRP_MJ_PNP] = Whceb01Pnp;
	DriverObject->MajorFunction[IRP_MJ_POWER] = Whceb01Power;

	DriverObject->MajorFunction[IRP_MJ_READ] = Whceb01Read;
	DriverObject->MajorFunction[IRP_MJ_WRITE] = Whceb01Write;
	DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = Whceb01DeviceControl;

	DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = Whceb01SystemControl;


#ifdef DEBUG_INTERFACE
	TRACE0("DriverEntry completed");
#endif//DEBUG_INTERFACE
	return status;
}
#pragma code_seg() // end INIT section

//////////////////////////////////////////////////////////////////////////////
//	Whceb01Unload
//
//	Description:
//		Unload the driver by removing any remaining objects, etc.
//
//	Arguments:
//		Pointer to the Driver object
//
//	Return Value:
//		None

#pragma code_seg("PAGE") // start PAGE section

VOID Whceb01Unload(IN PDRIVER_OBJECT DriverObject)
{
#ifdef DEBUG_INTERFACE
	TRACE0("--------------Whceb01Unload!-------------");
#endif//DEBUG_INTERFACE
	DebugPrintClose();
}

//////////////////////////////////////////////////////////////////////////////
#pragma code_seg() // end PAGE section

⌨️ 快捷键说明

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