设为首页
收藏本站
联系我们
网站导航
在攻与防的对立统一中寻求突破!
首页
黑客新闻
技术文章
下载资源
VIP专区
培训专区
技术问答
技术论坛
黑客论坛
-
公共交流区
-
技术交流
- 浏览 - 编译驱动不生成OBJ......来看看怎么回事
黑客防线网络安全顾问
站长安全顾问灵质提取器
2008 TOP 100 Network Security Tools
黑客防线VIP系统2008特惠方案
您是本贴第
127
位浏览者
浏览: 编译驱动不生成OBJ......来看看怎么回事
cricketol
等级: 银牌VIP
发贴: 49 贴
货币:
0
金币
积分: 280 分
经验: 160 点
体力: 2030 点
注册: 2006-02-09
#1
编译驱动不生成OBJ......来看看怎么回事
#include <ntddk.h>
#include <wdm.h>
NTSTATUS Driverlnitialize ( PDRIVER_OBJECT pDriverObject ,
PUNICODE_STRING pusRegistryPath) ;
NTSTATUS DriverEntry ( PDRIVER_OBJECT pDriverObject,
PUNICODE_STRING pusRegistryPath) ;
PDEVICE_OBJECT gpDeviceObject=NULL;
PDEVICE_CONTEXT gpDeviceContext=NULL;
// DEVICE REQUEST HANDLER
NTSTATUS DeviceDispatcher(PDEVICE_CONTEXT pDeviceContext, PIRP plrp)
{
PIO_STACK_LOCATION pisl;
DWORD dlnfo = 0;
NTSTATUS ns = STATUS_NOT_IMPLEMENTED;
pisl = loGetCurrentlrpStackLocation(plrp);
switch(pisl->MajorFunction)
{
case IRP_MJ_CREATE:
break;
case IRP_MJ_CLEANUP:
break;
case IRP_MJ_CLOSE:
ns = STATUS_SUCCESS;
break;
}
plrp->lostatus.Status = ns;
plrp->lostatus.Information = dlnfo;
loCompleteRequest(plrp, IO_NO_INCREMENT);
return ns;
}
// DRIVER REQUEST HANDLER
NTSTATUS DriverDispatcher(PDEVICE_OBJECT pDeviceObject,
PIRP plrp)
{
return (pDeviceObject == gpDeviceObject
? DeviceDispatcher(gpDeviceContext,plrp)
: STATUS_INVALID_PARAMETER_1 ) ;
}
//
void DriverUnload( PDRIVER_OBJECT pDriverObject)
{
loDeleteSymbolicLink (kusSymbolicLinkName) ;
loDeleteDevice(gpDeviceObject) ;
return;
}
// DRIVER INITIALIZATION
NTSTATUS Driverlnitialize( PDRIVER_OBJECT pDriverObject,
PUNICODE_STRING pusRegistryPath)
{
PDEVICE_OBJECT pDeviceObject = NULL;
NTSTATUS ns = STATUS_DEVICE_CONFIGURATION_ERROR;
if ( (ns = loCreateDevice (pDriverObject, DEVICE_CONTEXT_,
kusDeviceName, FILE_DEVICE_CUSTOM,
0, FALSE, SpDeviceObject) )
== STATUS_SUCCESS)
{
if ( (ns = loCreateSymbolicLink (ScusSynibolicLinkName,
&usDeviceName) )
== STATUS_SUCCESS)
{
gpDeviceObject = pDeviceObject;
gpDeviceContext = pDeviceObject->DeviceExtension;
gpDeviceContext->pDriverObject = pDriverObject;
gpDeviceContext->pDeviceObject = pDeviceObject;
}
else
{
loDeleteDevice (pDeviceObject);
}
}
return ns;
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject,
PUNICODE_STRING pusRegistryPath)
{
PDRIVER_DISPATCH *ppdd;
NTSTATUS ns = STATUS_DEVICE_CONFIGURATION_ERROR;
if ( (ns = Driverlnitialize (pDriverObject , pusRegistryPath) )
== STATUS_SUCCESS)
{
ppdd = pDriverObject->MajorFunction;
ppdd [ IRP_MJ_CREATE ] =
ppdd [IRP_MJ_CREATE_NAMED_PIPE ] =
ppdd [IRP_MJ_CLOSE ] =
ppdd [IRP_MJ_READ ] =
ppdd [ IRP_MJ_WRITE ] =
ppdd [IRP_MJ_QUERY_INFORMATION ] =
ppdd [ IRP_MJ_SET_INFORMATION ] =
ppdd [IRP_MJ_QUERY_EA ] =
ppdd [ IRP_MJ_SET_EA ] =
ppdd [ IRP_MJ_FLUSH_BUFFERS ] =
ppdd [IRP_MJ_QUERY_VOLUME_INFORMATION] =
ppdd [IRP_MJ_SET_VOLUME_INFORMATION ] =
ppdd [ IRP_MJ_DIRECTORY_CONTROL ] =
ppdd [IRP_MJ_FILE_SYSTEM_CONTROL ] =
ppdd [ IRP_MJ_DEVICE_CONTROL 1 =
ppdd [IRP_MJ_INTERNAL_DEVICE_CONTROL ] =
ppdd [IRP_MJ_SHUTDOWN ] =
ppdd [ IRP_MJ_LOCK_CONTROL ] =
ppdd [IRP_MJ_CLEANUP ] =
ppdd [ IRP_MJ_CREATE_MAILSLOT ] =
ppdd [IRP_MJ_QUERY_SECURITY ] =
ppdd [IRP_MJ_SET_SECURITY ] =
ppdd [ IRP_MJ_POWER ] =
ppdd [ IRP_MJ_SYSTEM_CONTROL ] =
ppdd [IRP_MJ_DEVICE_CHANGE ] =
ppdd [ IRP_MJ_QUERY_QUOTA ] =
ppdd [ IRP_MJ_SET_QUOTA ] =
ppdd [IRP_MJ_PNP ] = DriverDispatcher;
pDriverObject->DriverUnload = Driver-Unload;
}
return ns;
}
以上的代码编译了不生成obj文件..........郁闷了一天了
大家帮我找找问题所在
2008-8-15 16:48:46
icesw0rd
等级: 普通用户
发贴: 4 贴
货币:
0
金币
积分: 20 分
经验: 20 点
体力: 755 点
注册: 2008-09-06
#2
Re:编译驱动不生成OBJ......来看看怎么回事
看编译提示,生成不了OBJ肯定会有提示问题出在哪
梦想和财富都掌握在自己手中,拼搏+奋斗是实现的唯一途径
2008-9-8 10:15:32
robur
等级: 黑客防线技术团队
发贴: 127 贴
货币:
0
金币
积分: 809 分
经验: 562 点
体力: 3850 点
注册: 2003-01-19
#3
Re:编译驱动不生成OBJ......来看看怎么回事
同意楼上,编译器没有报错??
安全三要素:有效的管理,先进的技术,威严的法律。
2008-9-8 12:47:37
blackice
等级: 钻石VIP
发贴: 31 贴
货币:
0
金币
积分: 292 分
经验: 856 点
体力: 4650 点
注册: 2006-03-17
#4
Re:编译驱动不生成OBJ......来看看怎么回事
看编译器的报错信息
编译不成功一般是编程有错误
2008-9-9 21:10:05
彻底修复
修复
奖惩
转移
固顶
区固顶
总固顶
精华
锁定
删除
4
1/1
1
版权所有 2007
黑客防线
廊(公)备13100138000530号
本
网站
基于 Joekoe CMS 3.0 技术架构