阅读:899回复:1
敬请您的指教!
各位老大向你们请教一个问题:
我用ds生成了一个usb驱动,并加入了自己的用户请求。可我不懂在NTSTATUS WjmDevice::WJM_IOCTL_READSIN_Handler(KIrp I) { NTSTATUS status = STATUS_INVALID_PARAMETER; ULONG ulReturned = 0; t<< \"EnteringWjmDevice::WJM_IOCTL_READSIN_Handler,\" << I << EOL; __try { //////////////////////////////////////////////////////////// if(!I.IoctlBuffer() || (I.IoctlInputBufferSize() != sizeof(DWORD)) || I.IoctlOutputBufferSize()) __leave; /////////////////////////////////////////////////////////// DWORD* pdwBuffer = (DWORD*)I.IoctlBuffer(); PURB pUrb = m_Lower.BuildVendorRequest( .......................... 在这里,if(!I.IoctlBuffer()||(i.IoctlInputBufferSize()......是用来判断什么的呢?她在应用程序与驱动程序之间起到的作用是不是很大呀! 我在做课题设计,这个问题已经困扰好长时间了。请各位高手详细指教一下。谢谢了!!! |
|
沙发#
发布于:2002-08-06 17:48
出错控制,你可以编译vdm_??时加入browse信息,这样在vc里直接右键选到jump to definition,就可以看到具体函数定义了,自己看源程序就明白了。
|
|