设为首页
收藏本站
联系我们
网站导航
在攻与防的对立统一中寻求突破!
首页
黑客新闻
技术文章
下载资源
VIP专区
培训专区
技术问答
技术论坛
技术专题
黑客论坛
-
公共交流区
-
技术交流
- 浏览 - 这些头文件去哪找啊?
黑客防线2009杂志订阅方案
新一代远控高级个人版亮点
技术创新应该成为信念和旗帜
致看不懂黑防杂志朋友的一封信
用户体验升级,欢迎参与!
您是本贴第
89
位浏览者
帖子主题: 这些头文件去哪找啊?
cricketol
等级: 银牌VIP
发贴: 49 贴
货币:
0
金币
积分: 280 分
经验: 160 点
体力: 2030 点
注册: 2006-02-09
#1
这些头文件去哪找啊?
编译驱动的时候需要的,我翻过DDK了,里面没有....
#include "DrvMain.h"
#include "WDMDefault.h"
#include "PnP\PnP.h"
#include "PM.h"
哪里能找到它们?
2008-8-15 11:30:31
cricketol
等级: 银牌VIP
发贴: 49 贴
货币:
0
金币
积分: 280 分
经验: 160 点
体力: 2030 点
注册: 2006-02-09
#2
Re:这些头文件去哪找啊?
我编译个驱动,加上wdm.h头文件就不生成obj文件了
怎么回事?
2008-8-15 15:55:32
cricketol
等级: 银牌VIP
发贴: 49 贴
货币:
0
金币
积分: 280 分
经验: 160 点
体力: 2030 点
注册: 2006-02-09
#3
Re:这些头文件去哪找啊?
#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:06:07
彻底修复
修复
奖惩
转移
固顶
区固顶
总固顶
精华
锁定
删除
3
1/1
1
站点地图/全站索引
关于我们
人才招聘
联系我们
友情链接
版权所有 2007
黑客防线
廊(公)备13100138000530号