yaoyu
驱动中牛
驱动中牛
  • 注册日期2002-08-14
  • 最后登录2009-11-28
  • 粉丝0
  • 关注0
  • 积分1005分
  • 威望350点
  • 贡献值2点
  • 好评度295点
  • 原创分0分
  • 专家分0分
阅读:804回复:1

调试问题?

楼主#
更多 发布于:2004-04-02 22:32
请问我的驱动程序这样写的
.h文件
#ifndef USE_NDIS
#define USE_NDIS
#endif

#include <vtoolsc.h>

#define PACKET_Major 1
#define PACKET_Minor 0
#define PACKET_DeviceID UNDEFINED_DEVICE_ID
#define PACKET_Init_Order UNDEFINED_INIT_ORDER


VOID _cdecl dprintf( PCHAR pszfmt,...);
.c文件
#define   DEVICE_MAIN
#include  "packet.h"
#undef    DEVICE_MAIN

Declare_Virtual_Device(PACKET)

DefineControlHandler(DEVICE_INIT, OnDeviceInit);
DefineControlHandler(W32_DEVICEIOCONTROL, OnW32Deviceiocontrol);
DefineControlHandler(SYSTEM_EXIT, OnSystemExit);

BOOL __cdecl ControlDispatcher(
DWORD dwControlMessage,
DWORD EBX,
DWORD EDX,
DWORD ESI,
DWORD EDI,
DWORD ECX)
{
START_CONTROL_DISPATCH

ON_DEVICE_INIT(OnDeviceInit);
ON_W32_DEVICEIOCONTROL(OnW32Deviceiocontrol);

END_CONTROL_DISPATCH

return TRUE;
}

VOID _cdecl dprintf( PCHAR pszfmt,...)
{
DbgPrint( pszfmt );
}

NTSTATUS NDIS_API DriverEntry(
   PDRIVER_OBJECT aDriverObject,
   PUNICODE_STRING aRegistryPath
)
{
NTSTATUS nStatus = NDIS_STATUS_SUCCESS;

dprintf(("DriverEntry...\n"));
           。。。
return( nStatus );
}
BOOL OnDeviceInit(VMHANDLE hVM, PCHAR CommandTail)
{
DriverEntry(NULL, NULL);

return TRUE;
}

DWORD OnW32Deviceiocontrol(PIOCTLPARAMS p)
{
return 0;
}
VOID OnSystemExit(VMHANDLE hVM)
{

}
这样写完编译后形成vxd 文件可是用Debug Monitor调试就是打不开一点go就出现错误请问怎么回事?
Leopard
驱动老牛
驱动老牛
  • 注册日期2001-07-13
  • 最后登录2021-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望53点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
  • 社区居民
  • 忠实会员
沙发#
发布于:2004-04-03 18:14
vxd 有DriverEntry吗? ;)
游客

返回顶部