阅读:910回复:1
wdm驱动中怎么得到vxd的驱动对象
如题:
我要在wdm驱动中对98下的Lpt.vxd发送alloc 和freeport消息,如何实现 |
|
沙发#
发布于:2002-05-29 17:58
我在driverwork文档里看到有一个KVxdinterface,我不知道打印端口的vxdname什么,试着填上\"LPT\",\"LPT1\"发现,不论是什么动作(比如打开硬盘....)他都跳进处理子程序里,但是它的控制信息不是W32_DEVICEIOCONTROL,但它能成功的初始化m_vxd
KVxdInterface m_vxd; MEMBER_VXDCONTROLDISPATCHER(ParallelDevice, VxDControl ) //初始化 BOOLEAN Success; Success = m_vxd.Initialize(\"LPT1\",LinkTo(VxDControl),this); if(Success) { t<<\"we can access lpt\"<<EOL; } else { t<<\"failed\"<<EOL; return ; } ULONG ParallelDevice::VxDControl(ULONG ControlMessage, ULONG Edi, ULONG Esi, ULONG Ebx, ULONG Edx, ULONG Ecx, ULONG *pCarryBitReturn) { if (ControlMessage == W32_DEVICEIOCONTROL) { PIOCTLPARAMS p = PIOCTLPARAMS(Esi); t<<\"---allocate222222---\"<<EOL; switch (p->dioc_IOCtlCode) { case IOCTL_PARALLEL_OPEN: t<<\"please tell me if receive the message\"<<EOL; return STATUS_SUCCESS; default: return STATUS_NOT_IMPLEMENTED; } } else { t<<\"left\"<<EOL; *pCarryBitReturn = 0; return 0; } } 大虾们救救我!!!!!!!!!!!!!! [编辑 - 5/29/02 by i11usi0n] |
|